Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/clusters/applications/prometheus.rb')
-rw-r--r--app/models/clusters/applications/prometheus.rb33
1 files changed, 10 insertions, 23 deletions
diff --git a/app/models/clusters/applications/prometheus.rb b/app/models/clusters/applications/prometheus.rb
index b9c136abab4..21f7e410843 100644
--- a/app/models/clusters/applications/prometheus.rb
+++ b/app/models/clusters/applications/prometheus.rb
@@ -22,21 +22,18 @@ module Clusters
attr_encrypted :alert_manager_token,
mode: :per_attribute_iv,
- key: Settings.attr_encrypted_db_key_base_truncated,
+ key: Settings.attr_encrypted_db_key_base_32,
algorithm: 'aes-256-gcm'
+ default_value_for(:alert_manager_token) { SecureRandom.hex }
+
after_destroy do
- run_after_commit do
- disable_prometheus_integration
- end
+ cluster.find_or_build_integration_prometheus.destroy
end
state_machine :status do
after_transition any => [:installed, :externally_installed] do |application|
- application.run_after_commit do
- Clusters::Applications::ActivateServiceWorker
- .perform_async(application.cluster_id, ::PrometheusService.to_param) # rubocop:disable CodeReuse/ServiceClass
- end
+ application.cluster.find_or_build_integration_prometheus.update(enabled: true, alert_manager_token: application.alert_manager_token)
end
after_transition any => :updating do |application|
@@ -44,6 +41,10 @@ module Clusters
end
end
+ def managed_prometheus?
+ !externally_installed? && !uninstalled?
+ end
+
def updated_since?(timestamp)
last_update_started_at &&
last_update_started_at > timestamp &&
@@ -70,6 +71,7 @@ module Clusters
)
end
+ # Deprecated, to be removed in %14.0 as part of https://gitlab.com/groups/gitlab-org/-/epics/4280
def patch_command(values)
helm_command_module::PatchCommand.new(
name: name,
@@ -98,23 +100,8 @@ module Clusters
files.merge('values.yaml': replaced_values)
end
- def generate_alert_manager_token!
- unless alert_manager_token.present?
- update!(alert_manager_token: generate_token)
- end
- end
-
private
- def generate_token
- SecureRandom.hex
- end
-
- def disable_prometheus_integration
- ::Clusters::Applications::DeactivateServiceWorker
- .perform_async(cluster_id, ::PrometheusService.to_param) # rubocop:disable CodeReuse/ServiceClass
- end
-
def install_knative_metrics
return [] unless cluster.application_knative_available?