Skip to content

Remove gitlab-shell indirection for authorized_keys changes

What does this MR do?

The gitlab-shell project used to contain code to manage authorized_keys but this was long ago merged into the main gitlab project. However, we still indirect through Gitlab::Shell for all key actions. This is a barrier to understanding and makes things unnecessarily complex. Since we want to remove Gitlab::Shell in the near(ish) future, it also gets in the way.

This MR removes that indirection and introduces a separate worker to handle add_key / remove_key calls while maintaining backward compatibility with in-flight sidekiq jobs.

It also removes some obsolete code that was used to backfill the authorized_keys file back in 2017 / v9.7 following a mistake in EE when introducing the authorized_keys_enabled application setting.

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #25095 (closed)

Edited by Nick Thomas

Merge request reports