feat(chart): add relay.deploymentAnnotations for Reloader support#2021
Open
torstenrudolf wants to merge 1 commit into
Open
feat(chart): add relay.deploymentAnnotations for Reloader support#2021torstenrudolf wants to merge 1 commit into
torstenrudolf wants to merge 1 commit into
Conversation
The relay chart only exposed pod-template annotations (relay.podAnnotations).
Stakater Reloader reads its trigger annotations
(secret.reloader.stakater.com/reload / reloader.stakater.com/auto) from the
Deployment's own metadata.annotations, so there was no way to opt a deployment
into auto-rolling on Secret rotation.
This bites in production: DB/Redis creds come from an ExternalSecret injected
as pod env vars, which freeze at pod start. When RDS rotates the password, ESO
updates the Secret but running pods keep the stale creds and fail DB auth until
a manual rollout — exactly the bb-public relay outage on 2026-07-17.
Add a relay.deploymentAnnotations knob (default {}) rendered onto the relay
Deployment's metadata.annotations. Consumers can then set
secret.reloader.stakater.com/reload: <secret> to auto-roll on rotation
(requires the Reloader controller in-cluster). Bump chart to 0.1.4.
Signed-off-by: Torsten Rudolf <trudolf@squareup.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a
relay.deploymentAnnotationsvalues knob (default{}) to the Buzz relay chart, rendered onto the relay Deployment's ownmetadata.annotations. Bumps the chart to0.1.4.Why
The chart only exposed pod-template annotations (
relay.podAnnotations). Stakater Reloader reads its trigger annotations (secret.reloader.stakater.com/reload,reloader.stakater.com/auto) from the Deployment'smetadata.annotations, not the pod template — so there was no way to opt a deployment into auto-rolling when a Secret changes.This matters when DB/Redis credentials come from a Secret injected as pod env vars: env vars are read once at process start, so if the backing Secret is later updated (e.g. a credential rotation), running pods keep the stale value and can fail auth until they are manually rolled. The chart's existing
checksum/secretpod annotation only tracks the chart-managed Secret, so it doesn't cover externally-managed Secrets.With this knob a consumer can set:
and Reloader will auto-roll the pods when that Secret changes (requires the Reloader controller running in-cluster).
Rendered output
Default (unset) renders no
annotationsblock — no behavior change for existing consumers.Testing
helm lintclean.helm templateverified both cases: default emits no Deployment-levelannotations; with the value set, the annotation lands atDeployment.metadata.annotations(where Reloader reads it), not the pod template.Follow-ups (downstream, not in this PR)
0.1.4to the OCI chart repo, then bump the dep + set the annotation in consumer values.