dragonflydb / dragonflydb/dragonfly-operator
Add ACL watcher sidecar to reload ACLs on Secret updates
- Dominant language
- Go
- Stars
- 357
- Forks
- 111
- PR merge metrics
- No merged PRs in 30d
Description
## Problem
When `spec.aclFromSecret` is used, the ACL file is mounted from a Secret. Secret volume updates are eventually consistent, and Dragonfly doesn’t automatically reload the ACL file.
## Proposed solution
Add a tiny sidecar that watches the ACL file and runs `ACL LOAD` on change. [Mounted Secret updates are eventually consistent](https://kubernetes.io/docs/concepts/configuration/secret/#using-secrets-as-files-from-a-pod) so this keeps Secret as the source of truth while avoiding pod restarts.
## Scope
- Add ACL watcher sidecar image (inotify + redis-cli).
- Wire into Dragonfly pods when `spec.aclFromSecret` is set.
- Add Makefile + CI workflow steps to build/publish the image.
## Notes
- `spec.authentication.passwordFromSecret` is still env‑based, so it won’t update automatically; recommend `aclFromSecret` where possible or document this limitation.
## PR
https://github.com/dragonflydb/dragonfly-operator/pull/478
Contributor guide
Research direction
Start by reviewing pull request #478, then inspect the operator's pod wiring, Makefile, and CI workflow entries related to the requested sidecar image. Confirm how aclFromSecret is handled and define done as building and publishing the watcher, injecting it only for ACL Secret usage, and reloading ACLs when the mounted file changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes, redis
- Domain
- ci-cd, devops, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 20/100