Skip to content

feat(step-certificates): add podAnnotations pass-through - #273

Closed
mitchell-privett-delinea wants to merge 1 commit into
smallstep:masterfrom
mitchell-privett-delinea:feat-podannotations
Closed

feat(step-certificates): add podAnnotations pass-through#273
mitchell-privett-delinea wants to merge 1 commit into
smallstep:masterfrom
mitchell-privett-delinea:feat-podannotations

Conversation

@mitchell-privett-delinea

Copy link
Copy Markdown

What

Adds a podAnnotations values field on the step-certificates chart, mirroring the existing podExtraLabels pattern. Rendered onto the CA pod template's metadata.annotations.

Why

Enables users to attach arbitrary annotations to the CA pod template. Concrete use case: Stakater Reloader (and similar controllers) rely on workload-scoped annotations to trigger rollouts when referenced ConfigMaps or Secrets change. In deployments where the CA's config/cert material is delivered from an external ConfigMap (e.g., managed by Terraform or an external secrets operator rather than the chart's inject.* block), users currently have no way to opt the StatefulSet into that reload behavior via values.

Behavior

  • Default: podAnnotations: {} — no change to rendered output for existing users.
  • With value set: annotations render onto spec.template.metadata.annotations, alongside the existing checksum/config and checksum/secret entries when inject.enabled=true.
  • The annotations: key is now emitted when either inject.enabled=true or podAnnotations is non-empty. Previous default of "no annotations key when inject.enabled=false" is preserved when podAnnotations is empty.

Testing

Verified locally with helm template:

  • Default values: rendered pod template has no annotations: key (matches prior behavior).
  • --set podAnnotations.foo=bar: foo: bar renders under spec.template.metadata.annotations.
  • --set inject.enabled=true --set podAnnotations.reloader\.stakater\.com/reload=step-ca-certs: both the checksum/config + checksum/secret entries and the user annotation render together.

Mirrors the existing podExtraLabels pattern. Enables users to attach
arbitrary annotations to the CA pod template, needed for controllers
like Stakater Reloader that trigger rollouts based on annotation-scoped
watches of external ConfigMaps or Secrets.

The annotations key is now emitted when either inject.enabled=true or
podAnnotations is non-empty. Prior default of no annotations key when
inject.enabled=false is preserved when podAnnotations is empty (default).
@mitchell-privett-delinea
mitchell-privett-delinea requested a review from a team as a code owner September 4, 2026 05:54
@github-actions github-actions Bot added the needs triage Waiting for discussion / prioritization by team label Sep 4, 2026
@mitchell-privett-delinea

Copy link
Copy Markdown
Author

Closing — was opened in error. Belongs as an internal change against our mirrored chart, not upstream.

@mitchell-privett-delinea
mitchell-privett-delinea deleted the feat-podannotations branch September 4, 2026 05:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs triage Waiting for discussion / prioritization by team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants