summaryrefslogtreecommitdiff
path: root/app/models/clusters/applications/prometheus.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/clusters/applications/prometheus.rb')
-rw-r--r--app/models/clusters/applications/prometheus.rb17
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