Support rollout of Redis to cache database repository objects in `gprd`
Context
In #461 (closed) we completed the implementation work to enable the use of Redis to cache database repository objects.
This issue is to work on the rollout support for the GitLab.com production environment.
Tasks
-
Readiness review. This is being done in gitlab-com/gl-infra/readiness!122 (merged). ~"group::package" has already contributed with the application-side details. Now it's mostly about adding Infra details (done by groupscalability) and support if/as necessary. Tip: Anyone involved in this issue should have a read through the readiness review document as it contains valuable context and insight. -
Configuration and deployment (similar to gitlab-com/gl-infra/k8s-workloads/gitlab-com!2042 (merged)). We'll need to define the ideal connection pool and timeout values for the configurations, taking into account the testing in staging (and the metrics observed there) and the expected production workload (which is very very small for this first iteration, as described in the readiness review). -
Repeat testing from gstg
. Disable caching if any problem occurs. -
Monitor metrics during the first few days and adjust resources (such as connection pool size, timeouts, or connection lifetime/expiration) if needed (in conjunction with groupscalability).