Configure Valkey in Chef cookbooks (follow-up to Valkey bundling)

Summary

Follow-up to !9034 (merged) which bundles Valkey along with Redis. This issue tracks the Chef-side configuration work needed to make Valkey usable.

Background

!9034 (merged) adds Valkey to the omnibus-gitlab build, but does not include the Chef configuration. Since Valkey is Redis-compatible, we have two potential approaches for configuration.

Proposed Approaches

Option A: Create dedicated Valkey cookbook mirroring Redis

Create a complete parallel configuration structure:

valkey['enable'] = true
valkey['bind'] = '127.0.0.1'
valkey['port'] = 6379
# ... mirror all redis['*'] options
  • Full separation of Redis and Valkey configurations
  • Allows running both simultaneously if needed
  • More Chef code to maintain
  • Requires users to migrate configuration manually

Option B: Add backend selector to existing Redis configuration

Keep the existing redis configuration root in gitlab.rb and add a backend option:

redis['backend'] = 'valkey'  # or 'redis' (default)
  • Minimal user-facing changes
  • All existing redis['*'] settings continue to work
  • Chef recipes select the appropriate binary/service based on backend choice
  • Easier migration path for users

Acceptance Criteria

  • Valkey can be enabled via gitlab.rb
  • Valkey configuration supports all relevant Redis options
  • Service management (start/stop/restart) works correctly
  • Monitoring/metrics are exposed
  • Documentation updated

Not in scope

  • Migration from Redis to Valkey or vice versa

Related

  • !9034 (merged) - Bundle Valkey along with Redis
Edited Feb 05, 2026 by Lucas Li
Assignee Loading
Time tracking Loading