Skip to content

Refactor Git access checks

Patrick Steinhardt requested to merge pks-git-access-refactoring into master

What does this MR do?

Git access checks are currently very tightly tied to the fact that they all operate on a single change. This makes it really hard to bend access checks to instead work on all changes at once. Obvious candidates for this are the LFS checks (which currently work on the first ref only, which is wrong) and the Diff checks (which are currently computed per ref, which isn't really correct either). Both of these can instead operate on all refs at once.

This MR refactors access checks to not embed the change in the checkers themselves, but instead to hand them down. This grants the ability to extend checks and also have them to the batched check at a later point.

Part of #330324 (closed)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • 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

Merge request reports