Skip to content

Redis Sentinel daemon

Gabriel Mazetto requested to merge brodock/sentinel_daemon into master

Related to #1565 (closed) !996 (closed)

Updated documentation:

Checklist

  • Create a template for sentinel.conf
    • port is configurable
    • working-directory is configurable
    • auth-pass is configurable
    • monitor master instance is configurable
    • down-after-milliseconds is configurable
    • failover-timeout is configurable
    • myid is configurable or will fallback to generated and stored in .json file after first reconfigure
  • Create a service definition for sentinel daemon (definitions/sentinel_service.rb)
  • Sentinel code is EE package only (gitlab-ee recipe)
  • Add sentinel to runit init system
  • Sentinel should be enabled only when specific enabled flag is present
  • Sentinel-disable recipe
  • Generate specific redis:// URL pointing to master-name when sentinels are present

Testplan

  • Clean install:
    • Works with default / unmodified configuration parameters
    • Can enable managed sentinel
    • Can disable managed sentinel (stop service and remove from runit)
    • Can point to external (managed/unmanaged) sentinel service
    • Works with multiple sentinel instances.
  • Existing previous version
    • Can upgrade with default / unmodified configuration parameters
    • Can enable managed sentinel
    • Can disable managed sentinel (stop service and remove from runit)

Merge request reports