gitlab-org--gitlab-foss/app/workers/authorized_keys_worker.rb

37 lines
707 B
Ruby

# frozen_string_literal: true
class AuthorizedKeysWorker
include ApplicationWorker
data_consistency :always
sidekiq_options retry: 3
PERMITTED_ACTIONS = %w[add_key remove_key].freeze
feature_category :source_code_management
urgency :high
weight 2
idempotent!
loggable_arguments 0
def perform(action, *args)
return unless Gitlab::CurrentSettings.authorized_keys_enabled?
case action.to_s
when 'add_key'
authorized_keys.add_key(*args)
when 'remove_key'
authorized_keys.remove_key(*args)
else
raise "Unknown action: #{action.inspect}"
end
end
private
def authorized_keys
@authorized_keys ||= Gitlab::AuthorizedKeys.new
end
end