Skip to content

Create a single, flexible redis config file for gitlab-rails

Spun off from #2059 (closed).

We keep adding more and more Redis config files to gitlab-rails. Every time we add a new file we need to modify Omnibus and charts/gitlab.

I propose we move towards having a single Redis config file that we can put arbitrary configuration in for the sake of gitlab.com.

It would look like this:

# /home/git/gitlab/config/redis.yml
production:
  shared_state:
    sentinels: [...]
    url: redis://shared_state
  queues:
    sentinels: [...]
    url: redis://queues
  cache:
    cluster: ...

In omnibus:

gitlab_rails['redis_yml'] = {
  'shared_state' => {
    'sentinels' => [ a, b, c ],
    'url' => 'redis://shared_state'
  },
  # etc.
}

Goals

  1. No more new Redis config files
  2. Ability to inject arbitrary config via Omnibus and charts/gitlab, so we don't need to make MR's there all the time

Status 2023-01-11

We have started work on MR's for the Helm charts and Omnibus.

Edited by Jacob Vosmaer