From 006fa0de17817d74b1471517db6fbf624340c327 Mon Sep 17 00:00:00 2001 From: Igor Alexandrov Date: Sat, 28 Sep 2024 20:56:13 +0400 Subject: [PATCH] Extracted proxy commands to a module --- lib/kamal/commands/accessory.rb | 14 ++++++-------- lib/kamal/commands/app.rb | 10 +++++++++- lib/kamal/commands/{app/proxy.rb => proxy/exec.rb} | 6 +++--- 3 files changed, 18 insertions(+), 12 deletions(-) rename lib/kamal/commands/{app/proxy.rb => proxy/exec.rb} (54%) diff --git a/lib/kamal/commands/accessory.rb b/lib/kamal/commands/accessory.rb index 4db10751..cc72da8e 100644 --- a/lib/kamal/commands/accessory.rb +++ b/lib/kamal/commands/accessory.rb @@ -1,4 +1,6 @@ class Kamal::Commands::Accessory < Kamal::Commands::Base + include Kamal::Commands::Proxy::Exec + attr_reader :accessory_config delegate :service_name, :image, :hosts, :port, :files, :directories, :cmd, :network_args, :publish_args, :env_args, :volume_args, :label_args, :option_args, @@ -40,14 +42,6 @@ class Kamal::Commands::Accessory < Kamal::Commands::Base docker :ps, *service_filter end - def deploy(target:) - proxy_exec :deploy, service_name, *proxy.deploy_command_args(target: target) - end - - def remove - proxy_exec :remove, service_name - end - def logs(timestamps: true, since: nil, lines: nil, grep: nil, grep_options: nil) pipe \ @@ -117,6 +111,10 @@ class Kamal::Commands::Accessory < Kamal::Commands::Base end private + def proxy_deploy_command_args(target:) + proxy.deploy_command_args(target: target) + end + def service_filter [ "--filter", "label=service=#{service_name}" ] end diff --git a/lib/kamal/commands/app.rb b/lib/kamal/commands/app.rb index 6c4df0e4..5bbbdb51 100644 --- a/lib/kamal/commands/app.rb +++ b/lib/kamal/commands/app.rb @@ -1,5 +1,5 @@ class Kamal::Commands::App < Kamal::Commands::Base - include Assets, Containers, Execution, Images, Logging, Proxy + include Assets, Containers, Execution, Images, Logging, Kamal::Commands::Proxy::Exec ACTIVE_DOCKER_STATUSES = [ :running, :restarting ] @@ -76,6 +76,14 @@ class Kamal::Commands::App < Kamal::Commands::Base end private + def service_name + role.container_prefix + end + + def proxy_deploy_command_args(target:) + role.proxy.deploy_command_args(target: target) + end + def latest_image_id docker :image, :ls, *argumentize("--filter", "reference=#{config.latest_image}"), "--format", "'{{.ID}}'" end diff --git a/lib/kamal/commands/app/proxy.rb b/lib/kamal/commands/proxy/exec.rb similarity index 54% rename from lib/kamal/commands/app/proxy.rb rename to lib/kamal/commands/proxy/exec.rb index 777a4aaf..ac6f30a9 100644 --- a/lib/kamal/commands/app/proxy.rb +++ b/lib/kamal/commands/proxy/exec.rb @@ -1,12 +1,12 @@ -module Kamal::Commands::App::Proxy +module Kamal::Commands::Proxy::Exec delegate :proxy_container_name, to: :config def deploy(target:) - proxy_exec :deploy, role.container_prefix, *role.proxy.deploy_command_args(target: target) + proxy_exec :deploy, service_name, *proxy_deploy_command_args(target: target) end def remove - proxy_exec :remove, role.container_prefix + proxy_exec :remove, service_name end private