class Quay::CLI
Public Class Methods
exit_on_failure?()
click to toggle source
# File lib/quay/cli.rb, line 8 def self.exit_on_failure? true end
Public Instance Methods
init(dir=nil)
click to toggle source
# File lib/quay/cli.rb, line 18 def init(dir=nil) target = dir ? File.join(dir, 'Quayfile') : 'Quayfile' copy_file('Quayfile', target) end
run_task(name)
click to toggle source
# File lib/quay/cli.rb, line 32 def run_task(name) config = Quay::Config.eval_from_path(options[:config]) task = config.tasks[name] raise Thor::Error.new("unknown task #{name.inspect}") if task.nil? Array(task[:depends]).each do |dependency| puts "starting #{dependency}" Container.start(dependency, config.services[dependency]) end container = Container.start(name, task) puts "Started #{name} #{container.id[0...12]}" container.attach do |stream, chunk| puts "#{stream}: #{chunk}" end Array(task[:depends]).each do |dependency| puts "stopping #{dependency}" Container.stop(dependency, config.services[dependency]) end end
services()
click to toggle source
# File lib/quay/cli.rb, line 56 def services config = Quay::Config.eval_from_path(options[:config]) state = Quay::State.new lines = config.services.keys.sort.map do |service| id = state.containers[service] if id container = Docker::Container.get(id) [service, container.id[0...12]] else [service, nil] end end puts "DEPENDENCY CONTAINER_ID" puts lines.map{|col| col.join(" ") }.join("\n") end
start(name)
click to toggle source
# File lib/quay/cli.rb, line 73 def start(name) config = Quay::Config.eval_from_path(options[:config]) service = config.services[name] raise Thor::Error.new("unknown service #{name.inspect}") if service.nil? container = Container.start(name, service) puts "Started #{name} #{container.id[0...12]}" end
stop(name)
click to toggle source
# File lib/quay/cli.rb, line 84 def stop(name) config = Quay::Config.eval_from_path(options[:config]) service = config.services[name] raise Thor::Error.new("unknown service #{name.inspect}") if service.nil? container = Container.stop(name, service) if container.nil? puts "Skipping #{name}" else puts "Stopped #{name} #{container.id[0...12]}" end end
tasks()
click to toggle source
# File lib/quay/cli.rb, line 24 def tasks config = Quay::Config.eval_from_path(options[:config]) config.tasks.each do |name, _| puts name end end
version()
click to toggle source
# File lib/quay/cli.rb, line 13 def version puts "Quay Version #{VERSION}" end