diff options
Diffstat (limited to 'app/models/clusters/applications/prometheus.rb')
-rw-r--r-- | app/models/clusters/applications/prometheus.rb | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/app/models/clusters/applications/prometheus.rb b/app/models/clusters/applications/prometheus.rb index 91ffdac3273..2b9285e33d0 100644 --- a/app/models/clusters/applications/prometheus.rb +++ b/app/models/clusters/applications/prometheus.rb @@ -13,15 +13,21 @@ module Clusters include ::Clusters::Concerns::ApplicationStatus include ::Clusters::Concerns::ApplicationVersion include ::Clusters::Concerns::ApplicationData + include AfterCommitQueue default_value_for :version, VERSION - after_destroy :disable_prometheus_integration + after_destroy do + run_after_commit do + disable_prometheus_integration + end + end state_machine :status do after_transition any => [:installed] do |application| - application.cluster.projects.each do |project| - project.find_or_initialize_service('prometheus').update!(active: true) + application.run_after_commit do + Clusters::Applications::ActivateServiceWorker + .perform_async(application.cluster_id, ::PrometheusService.to_param) # rubocop:disable CodeReuse/ServiceClass end end end @@ -98,9 +104,8 @@ module Clusters private def disable_prometheus_integration - cluster.projects.each do |project| - project.prometheus_service&.update!(active: false) - end + ::Clusters::Applications::DeactivateServiceWorker + .perform_async(cluster_id, ::PrometheusService.to_param) # rubocop:disable CodeReuse/ServiceClass end def kube_client |