class Pygmy::Amazee
Public Class Methods
ls_cmd()
click to toggle source
# File lib/pygmy/amazee.rb, line 18 def self.ls_cmd cmd = 'docker image ls --format "{{.Repository}}:{{.Tag}}"' list = Sh.run_command(cmd) # For better handling of containers, we should compare our # results against a whitelist instead of preferential # treatment of linux pipes. containers = list.stdout.split("\n") amazee_containers = [] containers.each do |container| # Selectively target amazeeio/* images. if container.include?('amazeeio/') # Filter out items which we don't want. unless container.include?("none") || container.include?("ssh-agent") || container.include?("haproxy") amazee_containers.push(container) end end end amazee_containers end
pull(image_name)
click to toggle source
# File lib/pygmy/amazee.rb, line 7 def self.pull(image_name) puts "Pulling Docker Image #{Shellwords.escape(image_name)}".yellow pull_cmd = "docker pull #{Shellwords.escape(image_name)}" success = Sh.run_command(pull_cmd).success? unless success raise RuntimeError.new( "Failed to update #{self.container_name}. Command #{pull_cmd} failed" ) end end
pull_all()
click to toggle source
# File lib/pygmy/amazee.rb, line 39 def self.pull_all list = self.ls_cmd unless list.nil? list.each do |image| pull(image) end end end