command-cert-manager-issuer 2.6.0: Optional CA, Updated Default Healthcheck Interval, Updated Service Account Token Lifecycle#70
Open
irby wants to merge 14 commits into
Conversation
Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
…en using enrollment patterns Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR prepares the command-cert-manager-issuer v2.6.0 release by updating issuer behavior (optional CA with enrollment patterns), changing default healthcheck timing, improving Helm chart ServiceAccount token handling, and bumping the Go toolchain version for security.
Changes:
- Make
certificateAuthorityLogicalNameoptional when using an enrollment pattern (with updated validation, docs, and e2e coverage). - Increase the default issuer healthcheck interval from 1 minute to 10 minutes (code, CRDs, Helm docs, tests).
- Update Helm defaults to disable ServiceAccount token automount and mount a short-lived projected token at the standard ServiceAccount path.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates API endpoint links, installation/docs text, and adds healthcheck documentation; documents optional CA behavior. |
| docsource/content.md | Mirrors README documentation updates for generated docs. |
| CHANGELOG.md | Adds v2.6.0 changelog entry with features/security/upgrade notes. |
| api/v1alpha1/issuer_types.go | Marks certificateAuthorityLogicalName as optional and updates healthcheck interval docs. |
| internal/command/command.go | Updates signer config validation; improves enrollment failure hints; adds helpers for CA/pattern presence. |
| internal/command/command_test.go | Updates validation tests and adds coverage for new enrollment error message hints. |
| internal/controller/issuer_controller_test.go | Updates reconcile tests to expect the new default 10-minute requeue interval. |
| cmd/main.go | Changes the default --default-health-check-interval to 10m. |
| config/crd/bases/command-issuer.keyfactor.com_issuers.yaml | Updates CRD schema descriptions for optional CA and 10-minute default healthcheck interval. |
| config/crd/bases/command-issuer.keyfactor.com_clusterissuers.yaml | Updates CRD schema descriptions for optional CA and 10-minute default healthcheck interval. |
| deploy/charts/command-cert-manager-issuer/values.yaml | Adds ServiceAccount token automount toggle and projected token volume settings (defaults). |
| deploy/charts/command-cert-manager-issuer/templates/serviceaccount.yaml | Applies automountServiceAccountToken setting to the ServiceAccount resource. |
| deploy/charts/command-cert-manager-issuer/templates/deployment.yaml | Adds projected token volume + mount at /var/run/secrets/kubernetes.io/serviceaccount when automount is disabled. |
| deploy/charts/command-cert-manager-issuer/templates/crds/issuers.yaml | Updates Helm-rendered CRD docs for optional CA and 10-minute default healthcheck interval. |
| deploy/charts/command-cert-manager-issuer/templates/crds/clusterissuers.yaml | Updates Helm-rendered CRD docs for optional CA and 10-minute default healthcheck interval. |
| deploy/charts/command-cert-manager-issuer/README.md | Updates chart docs for the new default healthcheck interval. |
| e2e/run_tests.sh | Adds e2e test coverage for “CA optional when enrollment pattern is used”. |
| go.mod | Bumps Go language/toolchain version reference to 1.26.2. |
| Dockerfile | Updates builder image to Go 1.26. |
Comments suppressed due to low confidence (1)
deploy/charts/command-cert-manager-issuer/README.md:89
- The chart values table was updated for the new default healthcheck interval, but it doesn't document the newly added
serviceAccount.automountServiceAccountTokenandserviceAccount.projectedTokenVolume.*values introduced invalues.yaml. Please add these parameters to the configuration table so operators know how to configure/override the new token behavior.
| `env` | Environmental variables set for pod | `{}` |
| `secretConfig.useClusterRoleForSecretAccess` | Specifies if the ServiceAccount should be granted access to the Secret resource using a ClusterRole | `false` |
| `defaultHealthCheckInterval` | Specifies the default health check interval for issuers | `""` (uses the default in the code which is 10 minutes) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.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.
v2.6.0
Features
certificateAuthorityLogicalNameto be optional when using an enrollment pattern.Security
serviceAccount.automountServiceAccountTokentofalse,replacing the long-lived auto-mounted token with a short-lived projected token (~1 hour, automatically rotated by kubelet). The token is still mounted at the standard path
/var/run/secrets/kubernetes.io/serviceaccountso no application changes are required.Important
Upgrade Notes
serviceAccount.create: falseand manage your own ServiceAccount, you must either setautomountServiceAccountToken: truein yourvalues.yamlto preserve the previous behavior, or manually addautomountServiceAccountToken: falseand the projected volume to your ServiceAccount and Deployment manifests.values.yaml: