Commit e21b1501 authored by Pawel Chojnacki's avatar Pawel Chojnacki

Allow enabling Prometheus metrics via ENV variable when db is seeded

parent 7b75004d
if ENV['GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN'].present?
settings = ApplicationSetting.current || ApplicationSetting.create_from_defaults
settings.set_runners_registration_token(ENV['GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN'])
def save(settings, topic)
if settings.save
puts "Saved Runner Registration Token".color(:green)
puts "Saved #{topic}".color(:green)
else
puts "Could not save Runner Registration Token".color(:red)
puts "Could not save #{topic}".color(:red)
puts
settings.errors.full_messages.map do |message|
puts "--> #{message}".color(:red)
end
puts
exit 1
exit(1)
end
end
envs = %w{ GITLAB_PROMETHEUS_METRICS_ENABLED GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN }
if envs.any? {|env_name| ENV[env_name].present? }
settings = ApplicationSetting.current || ApplicationSetting.create_from_defaults
if ENV['GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN'].present?
settings.set_runners_registration_token(ENV['GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN'])
save(settings, 'Runner Registration Token')
end
if ENV['GITLAB_PROMETHEUS_METRICS_ENABLED'].present?
value = Gitlab::Utils.to_boolean(ENV['GITLAB_PROMETHEUS_METRICS_ENABLED'])
settings.prometheus_metrics_enabled = value
save(settings, 'GITLAB_PROMETHEUS_METRICS_ENABLED')
end
end
require 'spec_helper'
require 'rainbow/ext/string'
describe 'seed production settings', lib: true do
include StubENV
let(:settings_file) { File.join(__dir__, '../../../db/fixtures/production/010_settings.rb') }
let(:settings) { ApplicationSetting.current || ApplicationSetting.create_from_defaults }
context 'GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN is set in the environment' do
before do
stub_env('GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN', '013456789')
end
it 'writes the token to the database' do
load(settings_file)
expect(settings.runners_registration_token).to eq('013456789')
end
end
context 'GITLAB_PROMETHEUS_METRICS_ENABLED is set in the environment' do
context 'GITLAB_PROMETHEUS_METRICS_ENABLED is true' do
before do
stub_env('GITLAB_PROMETHEUS_METRICS_ENABLED', 'true')
end
it 'prometheus_metrics_enabled is set to true ' do
load(settings_file)
expect(settings.prometheus_metrics_enabled).to eq(true)
end
end
context 'GITLAB_PROMETHEUS_METRICS_ENABLED is false' do
before do
stub_env('GITLAB_PROMETHEUS_METRICS_ENABLED', 'false')
end
it 'prometheus_metrics_enabled is set to false' do
load(settings_file)
expect(settings.prometheus_metrics_enabled).to eq(false)
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment