lib/command/maintenance_on.rb in cpl-1.2.0 vs lib/command/maintenance_on.rb in cpl-1.3.0

- old
+ new

@@ -2,11 +2,12 @@ module Command class MaintenanceOn < Base NAME = "maintenance:on" OPTIONS = [ - app_option(required: true) + app_option(required: true), + domain_option ].freeze DESCRIPTION = "Enables maintenance mode for an app" LONG_DESCRIPTION = <<~DESC - Enables maintenance mode for an app - Specify the one-off workload through `one_off_workload` in the `.controlplane/controlplane.yml` file @@ -16,19 +17,22 @@ def call # rubocop:disable Metrics/MethodLength one_off_workload = config[:one_off_workload] maintenance_workload = config.current[:maintenance_workload] || "maintenance" - domain_data = cp.find_domain_for([one_off_workload, maintenance_workload]) + domain_data = if config.domain + cp.fetch_domain(config.domain) + else + cp.find_domain_for([one_off_workload, maintenance_workload]) + end unless domain_data raise "Can't find domain. " \ "Maintenance mode is only supported for domains that use path based routing mode " \ "and have a route configured for the prefix '/' on either port 80 or 443." end domain = domain_data["name"] - domain_workload = cp.get_domain_workload(domain_data) - if domain_workload == maintenance_workload + if cp.domain_workload_matches?(domain_data, maintenance_workload) progress.puts("Maintenance mode is already enabled for app '#{config.app}'.") return end cp.fetch_workload!(maintenance_workload)