Skip to content

Allow configuring multiple Redis instances

Jason Plum requested to merge 1644-support-multiple-redis into master

From #1644 (closed)

Allow configuration of multiple Redis instances, for splitting persistence classes.

This implements the necessary configuration items, and templating of configuration and secrets.

Currently, it is expected that if this configuration is used, all Redis instances will be external to this Helm chart. This means that we expect redis.install to be false, and all necessary queues to be individuall configured under global.redis.

Side effects of this change:

  • ignorance of .Values.redis, in favor of .Values.global.redis
  • DRY-ification of resque.yml across all GitLab charts to a central template (gitlab.rails.redis.resque)
  • Secret mounting blocks are now rendered via gitlab.redis.secrets, which in turn consumes gitlab.redis.secret
  • Base implementation of ActionCable's cable.yml

Questions remaining:

  • Does gitlab/geo-logcursor need all of these configurations? It needs all / most.
  • Does gitlab/gitlab-exporter actually access Redis as configured? It needs the primary (as in resque.yml).

Documentation to be done: (Split out to #2027 (closed))

  • [ ] Add additional Redis properties to documentation
  • [ ] Move Redis configuration documentation out of Unicorn
  • [ ] Add documentation of multiple Redis to doc/advanced/external-redis

Closes #1644 (closed)

Edited by Jason Plum

Merge request reports