Valkey
Valkey is the Linux Foundation fork of Redis. It is an open-source, in-memory data structure store used as a database, cache and message broker, and it remains protocol- and client-compatible with Redis.
The bundled demo environment deploys Valkey with the official valkey-io/valkey-helm chart and the valkey/valkey image.
Deploying Valkey in Kubernetes
Each enabled app gets a standalone Valkey instance in its own namespace:
- release and Service name:
<app>-valkey - port:
6379 - authentication: ACL
defaultuser - persistence: AOF enabled, PVC sized from
pvc.<app>.valkey - metrics: optional
oliver006/redis_exportersidecar
Valkey Vendors
Several vendors offer managed Redis/Valkey services. Check with your organization to determine the preferred provider. MijnBureau connects to any Redis-compatible endpoint.
Integrating Valkey with MijnBureau
Valkey can be integrated into MijnBureau for:
- Caching
- Session management
- Message brokering
The default configuration for each application is located in helmfile/environments/default/cache.yaml.gotmpl.
Example: Configuring Valkey for MijnBureau
To use an external Valkey/Redis endpoint, add the following to helmfile/environments/production/mijnbureau.yaml.gotmpl:
cache:
nextcloud:
host: yourhostname
port: 6379
isInternal: true # manages network policies for internal/external access
password: your-valkey-password
Securing Valkey Passwords
Storing passwords directly in configuration files is not recommended. Instead, use a separate secrets file:
-
Add the password to a secrets file:
cache:nextcloud:password: your valkey passwordSave this in
helmfile/environments/production/example.secrets.yaml. -
Remove the
passwordfield frommijnbureau.yaml.gotmpl. -
Encrypt the secrets file using SOPS:
sops -e -i helmfile/environments/production/example.secrets.yaml -
Ensure your CI/CD system is configured to decrypt the secrets during deployment.
By following these steps, you can securely manage Valkey credentials while maintaining a clean and organized configuration structure.