diff options
Diffstat (limited to 'lib/tasks/gitlab/doctor/secrets.rake')
-rw-r--r-- | lib/tasks/gitlab/doctor/secrets.rake | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/tasks/gitlab/doctor/secrets.rake b/lib/tasks/gitlab/doctor/secrets.rake index 29f0f36c705..dd005005edf 100644 --- a/lib/tasks/gitlab/doctor/secrets.rake +++ b/lib/tasks/gitlab/doctor/secrets.rake @@ -10,5 +10,21 @@ namespace :gitlab do Gitlab::Doctor::Secrets.new(logger).run! end + + desc "GitLab | Reset encrypted tokens for specific models" + task reset_encrypted_tokens: :gitlab_environment do + logger = Logger.new($stdout) + + logger.level = Gitlab::Utils.to_boolean(ENV['VERBOSE']) ? Logger::DEBUG : Logger::INFO + model_names = ENV['MODEL_NAMES']&.split(',') + token_names = ENV['TOKEN_NAMES']&.split(',') + dry_run = Gitlab::Utils.to_boolean(ENV['DRY_RUN']) + dry_run = true if dry_run.nil? + + next logger.info("No models were specified, please use MODEL_NAMES environment variable") unless model_names + next logger.info("No tokens were specified, please use TOKEN_NAMES environment variable") unless token_names + + Gitlab::Doctor::ResetTokens.new(logger, model_names: model_names, token_names: token_names, dry_run: dry_run).run! + end end end |