Skip to content

Add praefect as a socket to connect to for requests with praefect as the storage

John Cai requested to merge jc-add-praefect into master

What does this MR do?

For RPCs such as https://gitlab.com/gitlab-org/gitaly/-/blob/master/internal/praefect/service/info/repositories.go#L14, we will need tests on the gitlab side that can talk to an actual praefect instance. For this reason, we need a way for the tests to connect to a praefect socket.

Much of this code is from !18371 (closed), which we decided to not do at the time. However, that MR aimed to send all tests through praefect. This MR only aims to allow select tests that choose to go through praefect to do so. Other tests will remain going through gitaly directly.

The goal of this MR is:

  1. Split out Gitlab::SetupHelper into Gitlab::SetupHelper::Gitaly and Gitlab::SetupHelper::Praefect. The purpose of this module was to generate config.tomls for gitaly. We are extending this to also generate a config.toml for praefect.

  2. in TestEnv, add methods to spin up a praefect instance when we start gitaly

Part of: #35758 (closed)

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
Edited by John Cai

Merge request reports