summaryrefslogtreecommitdiff
path: root/metrics_server/override_gitlab_current_settings.rb
diff options
context:
space:
mode:
Diffstat (limited to 'metrics_server/override_gitlab_current_settings.rb')
-rw-r--r--metrics_server/override_gitlab_current_settings.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/metrics_server/override_gitlab_current_settings.rb b/metrics_server/override_gitlab_current_settings.rb
new file mode 100644
index 00000000000..1dc19b5da23
--- /dev/null
+++ b/metrics_server/override_gitlab_current_settings.rb
@@ -0,0 +1,21 @@
+# rubocop:disable Naming/FileName
+# frozen_string_literal: true
+
+# We need to supply this outside of Rails because:
+# RubySampler needs Gitlab::Metrics needs Gitlab::Metrics::Prometheus needs Gitlab::CurrentSettings needs ::Settings
+# to check for `prometheus_metrics_enabled`. We therefore simply redirect it to our own Settings type.
+module Gitlab
+ module CurrentSettings
+ class << self
+ def prometheus_metrics_enabled
+ # We make the simplified assumption that when the metrics-server runs,
+ # Prometheus metrics are enabled. Since the latter is a setting stored
+ # in the application database, we have no access to it here, so we need
+ # to hard-code it.
+ true
+ end
+ end
+ end
+end
+
+# rubocop:enable Naming/FileName