Add praefect as a socket to connect to for requests with praefect as the storage
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:
-
Split out
Gitlab::SetupHelper
intoGitlab::SetupHelper::Gitaly
andGitlab::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. -
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
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
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