cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
cert-manager 1.18 introduces several new features and breaking changes. Highlights include support for ACME certificate profiles, a new default for Certificate.Spec.PrivateKey.RotationPolicy now set to Always (breaking change), and the default Certificate.Spec.RevisionHistoryLimit now set to 1 (potentially breaking).
ℹ️ Be sure to review all new features and changes below, and read the full release notes carefully before upgrading.
Known Issues
ACME HTTP01 challenge paths are rejected by the ingress-nginx validating webhook (#7791)
Changes since v1.17.2:
Feature
Add config to the Vault issuer to allow the server-name to be specified when validating the certificates the Vault server presents. (#7663, @ThatsMrTalbot)
Added app.kubernetes.io/managed-by: cert-manager label to the created Let's Encrypt account keys (#7577, @terinjokes)
Added certificate issuance and expiration time metrics (certmanager_certificate_not_before_timestamp_seconds, certmanager_certificate_not_after_timestamp_seconds). (#7612, @solidDoWant)
Added ingress-shim option: --extra-certificate-annotations, which sets a list of annotation keys to be copied from Ingress-like to resulting Certificate object (#7083, @k0da)
Added the iss short name for the cert-manager Issuer resource. (#7373, @SgtCoDFish)
Added the ciss short name for the cert-manager ClusterIssuer resource (#7373, @SgtCoDFish)
Adds the global.rbac.disableHTTPChallengesRole helm value to disable HTTP-01 ACME challenges. This allows cert-manager to drop its permission to create pods, improving security when HTTP-01 challenges are not required. (#7666, @ali-hamza-noor)
Change of the Kubernetes Ingress pathType from ImplementationSpecific to Exact for a reliable handling of ingress controllers and enhanced security. (#7767, @sspreitzer)
Fix AWS Route53 error detection for not-found errors during deletion of DNS records. (#7690, @wallrj)
Fix behavior when running with --namespace=<namespace>: limit the scope of cert-manager to a single namespace and disable cluster-scoped controllers. (#7678, @tsaarni)
Fix handling of certificates with IP addresses in the commonName field; IP addresses are no longer added to the DNS subjectAlternativeName list and are instead added to the ipAddresses field as expected. (#7081, @johnjcool)
Fix issuing of certificates via DNS01 challenges on Cloudflare after a breaking change to the Cloudflare API (#7549, @LukeCarrier)
Fixed the certmanager_certificate_renewal_timestamp_seconds metric help text indicating that the metric is relative to expiration time, rather than Unix epoch time. (#7609, @solidDoWant)
Fixing the service account template to incorporate boolean values for the annotations. (#7698, @ali-hamza-noor)
ACME E2E Tests: Upgraded Pebble to v2.7.0 and modified the ACME tests to match latest Pebble behaviour. (#7771, @wallrj)
Patch the third_party/forked/acme package with support for the ACME profiles extension. (#7776, @wallrj)
Promote the AdditionalCertificateOutputFormats feature to GA, making additional formats always enabled. (#7744, @erikgb)
Remove deprecated feature gate ValidateCAA. Setting this feature gate is now a no-op which does nothing but print a warning log line (#7553, @SgtCoDFish)
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [cert-manager](https://cert-manager.io) ([source](https://github.com/cert-manager/cert-manager)) | minor | `v1.17.2` -> `v1.18.0` |
---
### Release Notes
<details>
<summary>cert-manager/cert-manager (cert-manager)</summary>
### [`v1.18.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.0)
[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.17.2...v1.18.0)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
cert-manager 1.18 introduces several new features and breaking changes. Highlights include support for ACME certificate profiles, a new default for `Certificate.Spec.PrivateKey.RotationPolicy` now set to `Always` (breaking change), and the default `Certificate.Spec.RevisionHistoryLimit` now set to `1` (potentially breaking).
> ℹ️ Be sure to review all new features and changes below, and read the [full release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.18) carefully before upgrading.
##### Known Issues
- ACME HTTP01 challenge paths are rejected by the ingress-nginx validating webhook ([#​7791](https://github.com/cert-manager/cert-manager/issues/7791))
Changes since `v1.17.2`:
##### Feature
- Add config to the Vault issuer to allow the server-name to be specified when validating the certificates the Vault server presents. ([#​7663](https://github.com/cert-manager/cert-manager/issues/7663), [@​ThatsMrTalbot](https://github.com/ThatsMrTalbot))
- Added `app.kubernetes.io/managed-by: cert-manager` label to the created Let's Encrypt account keys ([#​7577](https://github.com/cert-manager/cert-manager/issues/7577), [@​terinjokes](https://github.com/terinjokes))
- Added certificate issuance and expiration time metrics (`certmanager_certificate_not_before_timestamp_seconds`, `certmanager_certificate_not_after_timestamp_seconds`). ([#​7612](https://github.com/cert-manager/cert-manager/issues/7612), [@​solidDoWant](https://github.com/solidDoWant))
- Added ingress-shim option: `--extra-certificate-annotations`, which sets a list of annotation keys to be copied from Ingress-like to resulting Certificate object ([#​7083](https://github.com/cert-manager/cert-manager/issues/7083), [@​k0da](https://github.com/k0da))
- Added the `iss` short name for the cert-manager `Issuer` resource. ([#​7373](https://github.com/cert-manager/cert-manager/issues/7373), [@​SgtCoDFish](https://github.com/SgtCoDFish))
- Added the `ciss` short name for the cert-manager `ClusterIssuer` resource ([#​7373](https://github.com/cert-manager/cert-manager/issues/7373), [@​SgtCoDFish](https://github.com/SgtCoDFish))
- Adds the `global.rbac.disableHTTPChallengesRole` helm value to disable HTTP-01 ACME challenges. This allows cert-manager to drop its permission to create pods, improving security when HTTP-01 challenges are not required. ([#​7666](https://github.com/cert-manager/cert-manager/issues/7666), [@​ali-hamza-noor](https://github.com/ali-hamza-noor))
- Allow customizing signature algorithm ([#​7591](https://github.com/cert-manager/cert-manager/issues/7591), [@​tareksha](https://github.com/tareksha))
- Cache the full DNS response and handle TTL expiration in `FindZoneByFqdn` ([#​7596](https://github.com/cert-manager/cert-manager/issues/7596), [@​ThatsIvan](https://github.com/ThatsIvan))
- Cert-manager now uses a local fork of the golang.org/x/crypto/acme package ([#​7752](https://github.com/cert-manager/cert-manager/issues/7752), [@​wallrj](https://github.com/wallrj))
- Add support for [ACME profiles extension](https://datatracker.ietf.org/doc/draft-aaron-acme-profiles/). ([#​7777](https://github.com/cert-manager/cert-manager/issues/7777), [@​wallrj](https://github.com/wallrj))
- Promote the `UseDomainQualifiedFinalizer` feature to GA. ([#​7735](https://github.com/cert-manager/cert-manager/issues/7735), [@​jsoref](https://github.com/jsoref))
- Switched service/servicemon definitions to use port names instead of numbers. ([#​7727](https://github.com/cert-manager/cert-manager/issues/7727), [@​jcpunk](https://github.com/jcpunk))
- The default value of `Certificate.Spec.PrivateKey.RotationPolicy` changed from `Never` to `Always`. ([#​7723](https://github.com/cert-manager/cert-manager/issues/7723), [@​wallrj](https://github.com/wallrj))
- Potentially breaking: Set the default revisionHistoryLimit to 1 for the CertificateRequest revisions ([#​7758](https://github.com/cert-manager/cert-manager/issues/7758), [@​ali-hamza-noor](https://github.com/ali-hamza-noor))
##### Documentation
- Fix some comments ([#​7620](https://github.com/cert-manager/cert-manager/issues/7620), [@​teslaedison](https://github.com/teslaedison))
##### Bug or Regression
- Bump `go-jose` dependency to address `CVE-2025-27144`. ([#​7606](https://github.com/cert-manager/cert-manager/issues/7606), [@​SgtCoDFish](https://github.com/SgtCoDFish))
- Bump `golang.org/x/oauth2` to patch `CVE-2025-22868`. ([#​7638](https://github.com/cert-manager/cert-manager/issues/7638), [@​NicholasBlaskey](https://github.com/NicholasBlaskey))
- Bump `golang.org/x/crypto` to patch `GHSA-hcg3-q754-cr77`. ([#​7638](https://github.com/cert-manager/cert-manager/issues/7638), [@​NicholasBlaskey](https://github.com/NicholasBlaskey))
- Bump `github.com/golang-jwt/jwt` to patch `GHSA-mh63-6h87-95cp`. ([#​7638](https://github.com/cert-manager/cert-manager/issues/7638), [@​NicholasBlaskey](https://github.com/NicholasBlaskey))
- Change of the Kubernetes Ingress pathType from `ImplementationSpecific` to `Exact` for a reliable handling of ingress controllers and enhanced security. ([#​7767](https://github.com/cert-manager/cert-manager/issues/7767), [@​sspreitzer](https://github.com/sspreitzer))
- Fix AWS Route53 error detection for not-found errors during deletion of DNS records. ([#​7690](https://github.com/cert-manager/cert-manager/issues/7690), [@​wallrj](https://github.com/wallrj))
- Fix behavior when running with `--namespace=<namespace>`: limit the scope of cert-manager to a single namespace and disable cluster-scoped controllers. ([#​7678](https://github.com/cert-manager/cert-manager/issues/7678), [@​tsaarni](https://github.com/tsaarni))
- Fix handling of certificates with IP addresses in the `commonName` field; IP addresses are no longer added to the DNS `subjectAlternativeName` list and are instead added to the `ipAddresses` field as expected. ([#​7081](https://github.com/cert-manager/cert-manager/issues/7081), [@​johnjcool](https://github.com/johnjcool))
- Fix issuing of certificates via DNS01 challenges on Cloudflare after a breaking change to the Cloudflare API ([#​7549](https://github.com/cert-manager/cert-manager/issues/7549), [@​LukeCarrier](https://github.com/LukeCarrier))
- Fixed the `certmanager_certificate_renewal_timestamp_seconds` metric help text indicating that the metric is relative to expiration time, rather than Unix epoch time. ([#​7609](https://github.com/cert-manager/cert-manager/issues/7609), [@​solidDoWant](https://github.com/solidDoWant))
- Fixing the service account template to incorporate boolean values for the annotations. ([#​7698](https://github.com/cert-manager/cert-manager/issues/7698), [@​ali-hamza-noor](https://github.com/ali-hamza-noor))
- Quote nodeSelector values in Helm Chart ([#​7579](https://github.com/cert-manager/cert-manager/issues/7579), [@​tobiasbp](https://github.com/tobiasbp))
- Skip Gateway TLS listeners in `Passthrough` mode. ([#​6986](https://github.com/cert-manager/cert-manager/issues/6986), [@​vehagn](https://github.com/vehagn))
- Upgrade `golang.org/x/net` fixing `CVE-2025-22870`. ([#​7619](https://github.com/cert-manager/cert-manager/issues/7619), [@​dependabot](https://github.com/dependabot)\[bot])
##### Other (Cleanup or Flake)
- ACME E2E Tests: Upgraded Pebble to v2.7.0 and modified the ACME tests to match latest Pebble behaviour. ([#​7771](https://github.com/cert-manager/cert-manager/issues/7771), [@​wallrj](https://github.com/wallrj))
- Patch the `third_party/forked/acme` package with support for the ACME profiles extension. ([#​7776](https://github.com/cert-manager/cert-manager/issues/7776), [@​wallrj](https://github.com/wallrj))
- Promote the `AdditionalCertificateOutputFormats` feature to GA, making additional formats always enabled. ([#​7744](https://github.com/cert-manager/cert-manager/issues/7744), [@​erikgb](https://github.com/erikgb))
- Remove deprecated feature gate `ValidateCAA`. Setting this feature gate is now a no-op which does nothing but print a warning log line ([#​7553](https://github.com/cert-manager/cert-manager/issues/7553), [@​SgtCoDFish](https://github.com/SgtCoDFish))
- Update kind images to include the Kubernetes 1.33 node image ([#​7787](https://github.com/cert-manager/cert-manager/issues/7787), [@​cert-manager-bot](https://github.com/cert-manager-bot))
- Upgrade Go to `v1.24.4` ([#​7785](https://github.com/cert-manager/cert-manager/issues/7785), [@​wallrj](https://github.com/wallrj))
- Use slices.Contains to simplify code ([#​7753](https://github.com/cert-manager/cert-manager/issues/7753), [@​cuinix](https://github.com/cuinix))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNC42IiwidXBkYXRlZEluVmVyIjoiNDAuMTQuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
v1.17.2->v1.18.0Release Notes
cert-manager/cert-manager (cert-manager)
v1.18.0Compare Source
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
cert-manager 1.18 introduces several new features and breaking changes. Highlights include support for ACME certificate profiles, a new default for
Certificate.Spec.PrivateKey.RotationPolicynow set toAlways(breaking change), and the defaultCertificate.Spec.RevisionHistoryLimitnow set to1(potentially breaking).Known Issues
Changes since
v1.17.2:Feature
app.kubernetes.io/managed-by: cert-managerlabel to the created Let's Encrypt account keys (#7577, @terinjokes)certmanager_certificate_not_before_timestamp_seconds,certmanager_certificate_not_after_timestamp_seconds). (#7612, @solidDoWant)--extra-certificate-annotations, which sets a list of annotation keys to be copied from Ingress-like to resulting Certificate object (#7083, @k0da)issshort name for the cert-managerIssuerresource. (#7373, @SgtCoDFish)cissshort name for the cert-managerClusterIssuerresource (#7373, @SgtCoDFish)global.rbac.disableHTTPChallengesRolehelm value to disable HTTP-01 ACME challenges. This allows cert-manager to drop its permission to create pods, improving security when HTTP-01 challenges are not required. (#7666, @ali-hamza-noor)FindZoneByFqdn(#7596, @ThatsIvan)UseDomainQualifiedFinalizerfeature to GA. (#7735, @jsoref)Certificate.Spec.PrivateKey.RotationPolicychanged fromNevertoAlways. (#7723, @wallrj)Documentation
Bug or Regression
go-josedependency to addressCVE-2025-27144. (#7606, @SgtCoDFish)golang.org/x/oauth2to patchCVE-2025-22868. (#7638, @NicholasBlaskey)golang.org/x/cryptoto patchGHSA-hcg3-q754-cr77. (#7638, @NicholasBlaskey)github.com/golang-jwt/jwtto patchGHSA-mh63-6h87-95cp. (#7638, @NicholasBlaskey)ImplementationSpecifictoExactfor a reliable handling of ingress controllers and enhanced security. (#7767, @sspreitzer)--namespace=<namespace>: limit the scope of cert-manager to a single namespace and disable cluster-scoped controllers. (#7678, @tsaarni)commonNamefield; IP addresses are no longer added to the DNSsubjectAlternativeNamelist and are instead added to theipAddressesfield as expected. (#7081, @johnjcool)certmanager_certificate_renewal_timestamp_secondsmetric help text indicating that the metric is relative to expiration time, rather than Unix epoch time. (#7609, @solidDoWant)Passthroughmode. (#6986, @vehagn)golang.org/x/netfixingCVE-2025-22870. (#7619, @dependabot[bot])Other (Cleanup or Flake)
third_party/forked/acmepackage with support for the ACME profiles extension. (#7776, @wallrj)AdditionalCertificateOutputFormatsfeature to GA, making additional formats always enabled. (#7744, @erikgb)ValidateCAA. Setting this feature gate is now a no-op which does nothing but print a warning log line (#7553, @SgtCoDFish)v1.24.4(#7785, @wallrj)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.