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 by Lucas Li