Skip to content

Keep the internal CA private key across renewals with cert-manager 1.18+ - #709

Merged
lhotari merged 1 commit into
apache:masterfrom
dejanzele:ca-private-key-rotation-policy
Jul 15, 2026
Merged

Keep the internal CA private key across renewals with cert-manager 1.18+#709
lhotari merged 1 commit into
apache:masterfrom
dejanzele:ca-private-key-rotation-policy

Conversation

@dejanzele

@dejanzele dejanzele commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Fixes #708

Motivation

Since cert-manager 1.18 the default privateKey.rotationPolicy is Always (GA in 1.20, can no longer be turned off). The chart's self-signed CA Certificate doesn't set the field, so the CA now gets a new private key on every renewal and all previously issued certificates stop validating until each of them has been re-issued. See #708.

Modifications

  • add certs.internal_issuer.privateKey to values.yaml, defaulting to rotationPolicy: Never
  • render it as the privateKey block of the internal CA Certificate

rotationPolicy: Never keeps the CA key across renewals, which was the behavior before cert-manager 1.18. Setting certs.internal_issuer.privateKey: null renders the same manifest as before this change.

Verifying this change

  • Make sure that the change passes the CI checks.

Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>

@lhotari lhotari left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@lhotari
lhotari merged commit 44a31f2 into apache:master Jul 15, 2026
43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Self-signed CA gets a new private key on every renewal with cert-manager 1.18+, breaking TLS between components

2 participants