class Construi::Runner

Runs Construi

Public Class Methods

new(config) click to toggle source
# File lib/construi/runner.rb, line 18
def initialize(config)
  @config = config
end

Public Instance Methods

run(targets) click to toggle source
# File lib/construi/runner.rb, line 40
def run(targets)
  OptionParser.new do |opts|
    opts.on '-v', '--[no-]verbose' do |v|
      Options.enable(:verbose) if v
    end
  end.parse!

  Console.verbose "Construi version: #{Construi::VERSION}"

  setup_docker

  targets.map { |t| Target.new t, @config.target(t) } .each(&:run)
end
setup_docker() click to toggle source
# File lib/construi/runner.rb, line 22
def setup_docker
  docker_host = ENV['DOCKER_HOST']
  Docker.url = docker_host if docker_host

  Console.verbose "Docker url: #{Docker.url}"

  Docker.logger = Console.logger 'Docker'

  Excon.defaults[:ssl_verify_peer] = false

  Docker.validate_version!

  Docker.options[:read_timeout] = nil

  # Low chunk size as we wish to receive streaming output ASAP
  Docker.options[:chunk_size] = 8
end