diff --git a/lib/kamal/configuration/role.rb b/lib/kamal/configuration/role.rb index d135acec..04ff7a4b 100644 --- a/lib/kamal/configuration/role.rb +++ b/lib/kamal/configuration/role.rb @@ -16,6 +16,18 @@ class Kamal::Configuration::Role @hosts ||= extract_hosts_from_config end + def cmd + specializations["cmd"] + end + + def option_args + if args = specializations["options"] + optionize args + else + [] + end + end + def labels default_labels.merge(traefik_labels).merge(custom_labels) end @@ -24,6 +36,7 @@ class Kamal::Configuration::Role argumentize "--label", labels end + def env if config.env && config.env["secret"] merged_env_with_secrets @@ -52,6 +65,7 @@ class Kamal::Configuration::Role asset_volume&.docker_args end + def health_check_args(cord: true) if health_check_cmd.present? if cord && uses_cord? @@ -77,6 +91,12 @@ class Kamal::Configuration::Role health_check_options["interval"] || "1s" end + + def running_traefik? + name.web? || specializations["traefik"] + end + + def uses_cord? running_traefik? && cord_volume && health_check_cmd.present? end @@ -106,22 +126,6 @@ class Kamal::Configuration::Role end - def cmd - specializations["cmd"] - end - - def option_args - if args = specializations["options"] - optionize args - else - [] - end - end - - def running_traefik? - name.web? || specializations["traefik"] - end - def container_name(version = nil) [ container_prefix, version || config.version ].compact.join("-") end @@ -130,6 +134,7 @@ class Kamal::Configuration::Role [ config.service, name, config.destination ].compact.join("-") end + def asset_path specializations["asset_path"] || config.asset_path end