Method: Command::DeployImage#call

Defined in:
lib/command/deploy_image.rb

#callObject

rubocop:disable Metrics/MethodLength



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/command/deploy_image.rb', line 14

def call # rubocop:disable Metrics/MethodLength
  deployed_endpoints = {}

  image = latest_image

  config[:app_workloads].each do |workload|
    workload_data = cp.fetch_workload!(workload)
    workload_data.dig("spec", "containers").each do |container|
      next unless container["image"].match?(%r{^/org/#{config.org}/image/#{config.app}:})

      container_name = container["name"]
      step("Deploying image '#{image}' for workload '#{container_name}'") do
        cp.workload_set_image_ref(workload, container: container_name, image: image)
        deployed_endpoints[container_name] = workload_data.dig("status", "endpoint")
      end
    end
  end

  progress.puts("\nDeployed endpoints:")
  deployed_endpoints.each do |workload, endpoint|
    progress.puts("  - #{workload}: #{endpoint}")
  end
end