Skip to content

feat(auth): generate a signing key per stack - #554

Merged
flemzord merged 3 commits into
mainfrom
codex/feat-auth-stack-signing-key
Oct 14, 2026
Merged

flemzord merged 3 commits into
mainfrom
codex/feat-auth-stack-signing-key

Conversation

@gfyrag

@gfyrag gfyrag commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Generate a 2048-bit RSA signing key when an Auth resource has no signing key override.
  • Store the key in the stack namespace as the Auth-owned auth-signing-key Secret and reuse it across reconciliations.
  • Inject the Secret through SIGNING_KEY and restart the Auth Deployment if the generated Secret changes.
  • Upgrade the operator and operator-crds Helm charts to 3.18.0, with the operator and utils image defaults set to v3.18.0, so one operator chart upgrade includes the matching CRDs and behavior.
  • Document the new default and its upgrade impact.

Upgrade impact

Existing Auth installations that use the service's built-in key will switch to a new key. JWTs signed with the old key will no longer validate after the Auth Deployment restarts; clients must request new tokens.

The 3.18.0 chart and image must be published before this can be applied from a chart registry.

Validation

  • KUBEBUILDER_ASSETS="$(setup-envtest use 1.32.0 -p path)" go test ./... passed.
  • nix develop --extra-experimental-features 'nix-command flakes' --impure --command just pre-commit passed, including lint, generated CRDs, Helm chart update, and Helm validation.

Use a persistent Secret for Auth instances without an explicit signing key so stacks do not share the service default key.
@gfyrag
gfyrag requested a review from a team as a code owner October 14, 2026 21:30
@NumaryBot NumaryBot added risk: medium NumaryBot classified this pull request as medium risk. bot-reviewed review-approved The NumaryBot review gate is satisfied for the current head. labels Oct 14, 2026
NumaryBot
NumaryBot previously approved these changes Oct 14, 2026

@NumaryBot NumaryBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The required automated review completed with no remaining findings.

Geoffrey Ragot added 2 commits October 14, 2026 23:40
The dirty CI check regenerated the Auth CRD descriptions from the updated API comments. Commit both generated copies so pre-commit leaves the worktree clean.
Version the operator and CRD charts together so the release can be upgraded with one Helm operation.
@NumaryBot NumaryBot removed the review-approved The NumaryBot review gate is satisfied for the current head. label Oct 14, 2026

gfyrag commented Oct 14, 2026

Copy link
Copy Markdown
Contributor Author

The Dirty check failed with "Working tree is dirty after pre-commit" because the Auth CRD descriptions were regenerated but missing from the PR. Commit 456302c adds both generated CRD files. The full Nix just pre-commit recipe now passes locally, including Helm validation.

@NumaryBot NumaryBot added risk: high review-approved The NumaryBot review gate is satisfied for the current head. and removed risk: medium NumaryBot classified this pull request as medium risk. labels Oct 14, 2026

@NumaryBot NumaryBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The required automated review completed with no remaining findings.

@flemzord
flemzord merged commit 6da0c1c into main Oct 14, 2026
12 of 22 checks passed
@flemzord
flemzord deleted the codex/feat-auth-stack-signing-key branch October 14, 2026 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot-reviewed build-images review-approved The NumaryBot review gate is satisfied for the current head. risk: high

Development

Successfully merging this pull request may close these issues.

3 participants