Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release-1.11] Bump keystore-go to v4.4.1 #5730

Conversation

jetstack-bot
Copy link
Collaborator

This is an automated cherry-pick of #5724

/assign SgtCoDFish

Bump keystore-go to v4.4.1 to work around an upstream rewrite of history

This version points to the same commit as v4.4.0, so there is no actual
code change. However, trying to build cert-manager with v4.4.0 errors
out due to a checksum mismatch. Bumping to the new tag solved the
issue.

Signed-off-by: Guillermo Gaston <gaslor@amazon.com>
@jetstack-bot jetstack-bot added this to the v1.11 milestone Jan 17, 2023
@jetstack-bot jetstack-bot added do-not-merge/cherry-pick-not-approved Indicates that a PR is not yet approved to merge into a release branch. release-note Denotes a PR that will be considered when it comes time to generate release notes. dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Jan 17, 2023
Copy link
Member

@SgtCoDFish SgtCoDFish left a comment

Choose a reason for hiding this comment

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

/lgtm
/approve

@jetstack-bot jetstack-bot added the lgtm Indicates that a PR is ready to be merged. label Jan 17, 2023
@SgtCoDFish SgtCoDFish added cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager and removed do-not-merge/cherry-pick-not-approved Indicates that a PR is not yet approved to merge into a release branch. labels Jan 17, 2023
@jetstack-bot
Copy link
Collaborator Author

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jetstack-bot, SgtCoDFish

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jetstack-bot jetstack-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 17, 2023
@SgtCoDFish SgtCoDFish added kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. and removed needs-kind Indicates a PR lacks a `kind/foo` label and requires one. labels Jan 17, 2023
@jetstack-bot jetstack-bot merged commit 5c6d47e into cert-manager:release-1.11 Jan 17, 2023
@a-cool-train
Copy link

@SgtCoDFish looks like this issue exists in the latest tag. Is there a plan to cut a new tag with the above resolution?

@SgtCoDFish
Copy link
Member

We generally cut tags when we do releases, and we didn't deem there to be a sufficient reason to cut a release just for this - the already-built version of v1.11.0 still works fine as far as I know, and anyone who wants to build a custom version could build from the release-1.11 branch until we cut a new tag.

Is there a specific reason you'd need a new tag cutting?

@a-cool-train
Copy link

Yes our applications typically depend on tags to pull cert-manager and I have tested the latest tag v1.11.0 and it seems as though the issue that has been fixed by this PR exists in this tag which would also makes sense because the PR with the fix was merged a week ago while the tag was cut 2 weeks ago.

@a-cool-train
Copy link

@SgtCoDFish could you please let me know if there is any plan to create a tag for this fix. Here is the issue associated with this: #5750

@SgtCoDFish
Copy link
Member

I'll reply on the issue!

Sh4kE added a commit to Sh4kE/k8s-projects that referenced this pull request Apr 9, 2023
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cert-manager](https://github.com/cert-manager/cert-manager) | patch | `v1.11.0` -> `v1.11.1` |

---

### Release Notes

<details>
<summary>cert-manager/cert-manager</summary>

### [`v1.11.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.11.1)

[Compare Source](cert-manager/cert-manager@v1.11.0...v1.11.1)

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

In v1.11.1, we updated the base images used for cert-manager containers. In addition, the users of the Venafi issuer will see less certificates repeatedly failing.

If you are a user of Venafi TPP and have been having issues with the error message `This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry`, please use this version.

#### Changes since v1.11.0

##### Bug or Regression

-   Bump helm and other dependencies to fix CVEs, along with upgrading go and base images ([#&#8203;5815](cert-manager/cert-manager#5815), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Bump the distroless base images ([#&#8203;5930](cert-manager/cert-manager#5930), [@&#8203;maelvls](https://github.com/maelvls))
-   The auto-retry mechanism added in VCert 4.23.0 and part of cert-manager 1.11.0 ([#&#8203;5674](cert-manager/cert-manager#5674)) has been found to be faulty. Until this issue is fixed upstream, we now use a patched version of VCert. This patch will slowdown the issuance of certificates by 9% in case of heavy load on TPP. We aim to release at an ulterior date a patch release of cert-manager to fix this slowdown. ([#&#8203;5819](cert-manager/cert-manager#5819), [@&#8203;maelvls](https://github.com/maelvls))
-   Use a fake-kube apiserver version when generating helm template in `cmctl x install`, to work around a hardcoded Kubernetes version in Helm. ([#&#8203;5726](cert-manager/cert-manager#5726), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

##### Other (Cleanup or Flake)

-   Bump keystore-go to v4.4.1 to work around an upstream rewrite of history ([#&#8203;5730](cert-manager/cert-manager#5730), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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:eyJjcmVhdGVkSW5WZXIiOiIzNS4zMS41IiwidXBkYXRlZEluVmVyIjoiMzUuMzEuNSJ9-->

Co-authored-by: Michael Wittig <michael.wittig@posteo.de>
Reviewed-on: https://gitea.sh4ke.rocks/sh4ke/k8s-projects/pulls/138
nrdufour added a commit to nrdufour/home-ops that referenced this pull request Jul 29, 2023
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cert-manager](https://github.com/cert-manager/cert-manager) | minor | `v1.8.2` -> `v1.12.3` |

---

### Release Notes

<details>
<summary>cert-manager/cert-manager (cert-manager)</summary>

### [`v1.12.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.3)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.2...v1.12.3)

#### Changes by Kind

##### Bugfixes

-   BUGFIX\[cainjector]: 1-character bug was causing invalid log messages and a memory leak ([#&#8203;6235](https://github.com/cert-manager/cert-manager/issues/6235), [@&#8203;jetstack-bot](https://github.com/jetstack-bot))

### [`v1.12.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.2)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.1...v1.12.2)

#### Known issues

-   cainjector contains a memory leak due to re-assignment of a log variable (see https://github.com/cert-manager/cert-manager/issues/6217). The fix will be released in v1.12.3.
    See https://github.com/cert-manager/cert-manager/pull/6232 for context.

#### Changes by Kind

##### Bugfixes

-   BUGFIX: `cmctl check api --wait 0` exited without output; we now make sure we perform the API check at least once ([#&#8203;6116](https://github.com/cert-manager/cert-manager/issues/6116), [@&#8203;jetstack-bot](https://github.com/jetstack-bot))

### [`v1.12.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.1)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.0...v1.12.1)

### v1.12.1

This release contains a couple dependency bumps and changes to ACME external webhook library.

#### Known issues

-   [`cmctl` API check](https://cert-manager.io/docs/installation/verify/) is broken in v1.12.1. We suggest that you do not upgrade `cmctl` to this version. The fix will be released in v1.12.2.
    See [#&#8203;6116](https://github.com/cert-manager/cert-manager/issues/6116) for context.
-   cainjector contains a memory leak due to re-assignment of a log variable (see https://github.com/cert-manager/cert-manager/issues/6217). The fix will be released in v1.12.3.
    See https://github.com/cert-manager/cert-manager/pull/6232 for context.

#### Changes by Kind

##### Other (Cleanup or Flake)

-   Don't run API Priority and Fairness controller in webhook's extension apiserver ([#&#8203;6085](https://github.com/cert-manager/cert-manager/pull/6085), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Adds a warning for folks to not use controller feature gates helm value to configure webhook feature gates ([#&#8203;6100](https://github.com/cert-manager/cert-manager/pull/6100), [@&#8203;irbekrm](https://github.com/irbekrm))

##### Uncategorized

-   Updates Kubernetes libraries to `v0.27.2`. ([#&#8203;6077](https://github.com/cert-manager/cert-manager/pull/6077), [@&#8203;lucacome](https://github.com/lucacome))
-   Updates controller-runtime to `v0.15.0` ([#&#8203;6098](https://github.com/cert-manager/cert-manager/pull/6098), [@&#8203;lucacome](https://github.com/lucacome))

### [`v1.12.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.0)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.11.4...v1.12.0)

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

cert-manager v1.12 brings support for JSON logging, a lower memory footprint, support for ephemeral service account tokens with Vault, improved dependency management and support for the ingressClassName field.

The full release notes are available at https://cert-manager.io/docs/release-notes/release-notes-1.12.

#### Known issues

-   [`cmctl` API check](https://cert-manager.io/docs/installation/verify/) is broken in v1.12.1. We suggest that you do not upgrade `cmctl` to this version. The fix will be released in v1.12.2.
    See [#&#8203;6116](https://github.com/cert-manager/cert-manager/issues/6116) for context.
-   cainjector contains a memory leak due to re-assignment of a log variable (see https://github.com/cert-manager/cert-manager/issues/6217). The fix will be released in v1.12.3.
    See https://github.com/cert-manager/cert-manager/pull/6232 for context.

### Community

Thanks again to all open-source contributors with commits in this release, including:

-   [@&#8203;malovme](https://github.com/malovme)
-   [@&#8203;e96wic](https://github.com/e96wic)
-   [@&#8203;ExNG](https://github.com/ExNG)
-   [@&#8203;waterfoul](https://github.com/waterfoul)
-   [@&#8203;jkroepke](https://github.com/jkroepke)
-   [@&#8203;andrewsomething](https://github.com/andrewsomething)
-   [@&#8203;yulng](https://github.com/yulng)
-   [@&#8203;tobotg](https://github.com/tobotg)
-   [@&#8203;maumontesilva](https://github.com/maumontesilva)
-   [@&#8203;avi-08](https://github.com/avi-08)
-   [@&#8203;vinzent](https://github.com/vinzent)
-   [@&#8203;TrilokGeer](https://github.com/TrilokGeer)
-   [@&#8203;g-gaston](https://github.com/g-gaston)
-   [@&#8203;james-callahan](https://github.com/james-callahan)
-   [@&#8203;lucacome](https://github.com/lucacome)
-   [@&#8203;yanggangtony](https://github.com/yanggangtony)
-   [@&#8203;vidarno](https://github.com/vidarno)
-   [@&#8203;ctrought](https://github.com/ctrought)
-   [@&#8203;Robfz](https://github.com/Robfz)
-   [@&#8203;dsonck92](https://github.com/dsonck92)
-   [@&#8203;rayandas](https://github.com/rayandas)
-   [@&#8203;olekfur](https://github.com/olekfur)
-   [@&#8203;ptrc-n](https://github.com/ptrc-n)
-   [@&#8203;bradjones1](https://github.com/bradjones1)
-   [@&#8203;gdvalle](https://github.com/gdvalle)

Thanks also to the following cert-manager maintainers for their contributions during this release:

-   [@&#8203;inteon](https://github.com/inteon)
-   [@&#8203;wallrj](https://github.com/wallrj)
-   [@&#8203;maelvls](https://github.com/maelvls)
-   [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)
-   [@&#8203;irbekrm](https://github.com/irbekrm)
-   [@&#8203;jakexks](https://github.com/jakexks)
-   [@&#8203;JoshVanL](https://github.com/JoshVanL)
-   [@&#8203;munnerz](https://github.com/munnerz)

Equally thanks to everyone who provided feedback, helped users and raised issues on Github and Slack, joined our meetings and talked to us at Kubecon!

Special thanks to [@&#8203;erikgb](https://github.com/erikgb) for continuously great input and feedback and to [@&#8203;lucacome](https://github.com/lucacome) for always ensuring that our kube deps are up to date!

Thanks also to the [CNCF](https://www.cncf.io/), which provides resources and support, and to the AWS open source team for being good community members and for their maintenance of the [PrivateCA Issuer](https://github.com/cert-manager/aws-privateca-issuer).

In addition, massive thanks to [Jetstack](https://www.jetstack.io/) (by [Venafi](https://www.venafi.com/)) for contributing developer time and resources towards the continued maintenance of cert-manager projects.

#### Changes by Kind

##### Feature

-   **POTENTIALLY BREAKING**: the cert-manager binaries and some tests have been split into separate Go modules, allowing them to be easily patched independently. This should have no impact if you simply run cert-manager in your cluster. If you import cert-manager binaries, integration tests or end-to-end tests in Go, you may need to make code changes in response to this. See https://cert-manager.io/docs/contributing/importing/ for more details. ([#&#8203;5880](https://github.com/cert-manager/cert-manager/pull/5880), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Added support for JSON logging (using --logging-format=json) ([#&#8203;5828](https://github.com/cert-manager/cert-manager/pull/5828), [@&#8203;malovme](https://github.com/malovme))
-   Added the `--concurrent-workers` flag that lets you control the number of concurrent workers for each of our controllers. ([#&#8203;5936](https://github.com/cert-manager/cert-manager/pull/5936), [@&#8203;inteon](https://github.com/inteon))
-   Adds `acme.solvers.http01.ingress.podTemplate.spec.imagePullSecrets` field to issuer spec to allow to specify image pull secrets for the ACME HTTP01 solver pod. ([#&#8203;5801](https://github.com/cert-manager/cert-manager/pull/5801), [@&#8203;malovme](https://github.com/malovme))
-   Cainjector:
    -   New flags were added to the cainjector binary. They can be used to modify what injectable kinds are enabled. If cainjector is only used as a cert-manager's internal component it is sufficient to only enable validatingwebhookconfigurations and mutatingwebhookconfigurations injectable resources; disabling the rest can improve memory consumption. By default all are enabled.
    -   The `--watch-certs` flag was renamed to `--enable-certificates-data-source`. ([#&#8203;5766](https://github.com/cert-manager/cert-manager/pull/5766), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Helm: Added PodDisruptionBudgets for cert-manager components to the Helm chart (disabled by default). ([#&#8203;3931](https://github.com/cert-manager/cert-manager/pull/3931), [@&#8203;e96wic](https://github.com/e96wic))
-   Helm: Egress 6443/TCP is now allowed in the webhook. This is required for OpenShift and OKD clusters for which the Kubernetes API server listens on port 6443 instead of 443. ([#&#8203;5788](https://github.com/cert-manager/cert-manager/pull/5788), [@&#8203;ExNG](https://github.com/ExNG))
-   Helm: you can now add volumes and volume mounts via Helm variables for the cainjector, webhook, and startupapicheck. ([#&#8203;5668](https://github.com/cert-manager/cert-manager/pull/5668), [@&#8203;waterfoul](https://github.com/waterfoul))
-   Helm: you can now enable the flags `--dns01-recursive-nameservers`, `--enable-certificate-owner-ref`, and `--dns01-recursive-nameservers-only` through Helm values. ([#&#8203;5614](https://github.com/cert-manager/cert-manager/pull/5614), [@&#8203;jkroepke](https://github.com/jkroepke))
-   The DigitalOcean issuer now sets a cert-manager user agent string. ([#&#8203;5869](https://github.com/cert-manager/cert-manager/pull/5869), [@&#8203;andrewsomething](https://github.com/andrewsomething))
-   The HTTP-01 solver can now be configured to create Ingresses with an `ingressClassName`. The credit goes to [@&#8203;dsonck92](https://github.com/dsonck92) for implementing the initial PR. ([#&#8203;5849](https://github.com/cert-manager/cert-manager/pull/5849), [@&#8203;maelvls](https://github.com/maelvls))
-   The Vault issuer can now be used with ephemeral Kubernetes tokens. With the new `serviceAccountRef` field, cert-manager generates a short-lived token associated to the service account to authenticate to Vault. Along with this new feature, we have added validation logic in the webhook in order to check the `vault.auth` field when creating an Issuer or ClusterIssuer. Previously, it was possible to create an Issuer or ClusterIssuer with an invalid value for `vault.auth`. ([#&#8203;5502](https://github.com/cert-manager/cert-manager/pull/5502), [@&#8203;maelvls](https://github.com/maelvls))
-   The cert-manager controller container of the controller Pod now has a `/livez` endpoint and a default liveness probe, which fails if leader election has been lost and for some reason the process has not exited. The liveness probe is disabled by default. ([#&#8203;5962](https://github.com/cert-manager/cert-manager/pull/5962), [@&#8203;wallrj](https://github.com/wallrj))
-   Upgraded Gateway API to v0.6.0. ([#&#8203;5768](https://github.com/cert-manager/cert-manager/pull/5768), [@&#8203;yulng](https://github.com/yulng))
-   Webhook now logs requests to mutating/validating webhook (with `--v=5` flag) ([#&#8203;5975](https://github.com/cert-manager/cert-manager/pull/5975), [@&#8203;tobotg](https://github.com/tobotg))

##### Design

-   Certificate issuances are always failed (and retried with a backoff) for denied or invalid CertificateRequests.
    This is not necessarily a breaking change as due to a race condition this may already have been the case. ([#&#8203;5887](https://github.com/cert-manager/cert-manager/pull/5887), [@&#8203;irbekrm](https://github.com/irbekrm))
-   The cainjector controller can now use server-side apply to patch mutatingwebhookconfigurations, validatingwebhookconfigurations, apiservices, and customresourcedefinitions. This feature is currently in alpha and is not enabled by default. To enable server-side apply for the cainjector, add the flag --feature-gates=ServerSideApply=true to the deployment. ([#&#8203;5991](https://github.com/cert-manager/cert-manager/pull/5991), [@&#8203;inteon](https://github.com/inteon))

##### Documentation

-   Helm: the dead links in `values.yaml` are now working ([#&#8203;5999](https://github.com/cert-manager/cert-manager/pull/5999), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

##### Bug or Regression

-   Cmctl renew now prints an error message unless Certificate name(s) or --all are supplied ([#&#8203;5896](https://github.com/cert-manager/cert-manager/pull/5896), [@&#8203;maumontesilva](https://github.com/maumontesilva))
-   Cmctl: In order work around a hardcoded Kubernetes version in Helm, we now use a fake kube-apiserver version when generating the helm template when running `cmctl x install`. ([#&#8203;5720](https://github.com/cert-manager/cert-manager/pull/5720), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Fix development environment and go vendoring on Linux arm64. ([#&#8203;5810](https://github.com/cert-manager/cert-manager/pull/5810), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Fix ordering of remote git tags when preparing integration tests ([#&#8203;5910](https://github.com/cert-manager/cert-manager/pull/5910), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Helm: the flag `--acme-http01-solver-image` given to the variable `acmesolver.extraArgs` now has precedence over the variable `acmesolver.image`. ([#&#8203;5693](https://github.com/cert-manager/cert-manager/pull/5693), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Ingress and Gateway resources will not be synced if deleted via [foreground cascading](https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion). ([#&#8203;5878](https://github.com/cert-manager/cert-manager/pull/5878), [@&#8203;avi-08](https://github.com/avi-08))
-   The auto-retry mechanism added in VCert 4.23.0 and part of cert-manager 1.11.0 ([#&#8203;5674](https://github.com/cert-manager/cert-manager/issues/5674)) has been found to be faulty. Until this issue is fixed upstream, we now use a patched version of VCert. This patch will slowdown the issuance of certificates by 9% in case of heavy load on TPP. We aim to release at an ulterior date a patch release of cert-manager to fix this slowdown. ([#&#8203;5805](https://github.com/cert-manager/cert-manager/pull/5805), [@&#8203;inteon](https://github.com/inteon))
-   Upgrade to go 1.19.6 along with newer helm and containerd versions and updated base images ([#&#8203;5813](https://github.com/cert-manager/cert-manager/pull/5813), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   When using the `jks` and `pkcs12` fields on a Certificate resource with a CA issuer that doesn't set the `ca.crt` in the Secret resource, cert-manager no longer loop trying to copy `ca.crt` into `truststore.jks` or `truststore.p12`. ([#&#8203;5972](https://github.com/cert-manager/cert-manager/pull/5972), [@&#8203;vinzent](https://github.com/vinzent))
-   When using the `literalSubject` field on a Certificate resource, the IPs, URIs, DNS names, and email addresses segments are now properly compared. ([#&#8203;5747](https://github.com/cert-manager/cert-manager/pull/5747), [@&#8203;inteon](https://github.com/inteon))

##### Other (Cleanup or Flake)

-   ACME account registration is now re-verified if account key is manually changed. ([#&#8203;5949](https://github.com/cert-manager/cert-manager/pull/5949), [@&#8203;TrilokGeer](https://github.com/TrilokGeer))
-   Add `make go-workspace` target for generating a go.work file for local development ([#&#8203;5935](https://github.com/cert-manager/cert-manager/pull/5935), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Added a Makefile target to build a standalone E2E test binary: make e2e-build ([#&#8203;5804](https://github.com/cert-manager/cert-manager/pull/5804), [@&#8203;wallrj](https://github.com/wallrj))
-   Bump keystore-go to v4.4.1 to work around an upstream rewrite of history ([#&#8203;5724](https://github.com/cert-manager/cert-manager/pull/5724), [@&#8203;g-gaston](https://github.com/g-gaston))
-   Bump the distroless base images ([#&#8203;5929](https://github.com/cert-manager/cert-manager/pull/5929), [@&#8203;maelvls](https://github.com/maelvls))
-   Bumps base images ([#&#8203;5793](https://github.com/cert-manager/cert-manager/pull/5793), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Cainjector memory improvements: removes second cache of secrets, CRDs, validating/mutatingwebhookconfigurations and APIServices that should reduce memory consumption by about half.
    \*\*BREAKING:\*- users who are relying on cainjector to work when `certificates.cert-manager.io` CRD is not installed in the cluster, now need to pass `--watch-certificates=false` flag to cainjector else it will not start.
    Users who only use cainjector as cert-manager's internal component and have a large number of `Certificate` resources in cluster can pass `--watch-certificates=false` to avoid cainjector from caching `Certificate` resources and save some memory. ([#&#8203;5746](https://github.com/cert-manager/cert-manager/pull/5746), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Cainjector now only reconciles annotated objects of injectable kind. ([#&#8203;5764](https://github.com/cert-manager/cert-manager/pull/5764), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Container images are have an OCI source label ([#&#8203;5722](https://github.com/cert-manager/cert-manager/pull/5722), [@&#8203;james-callahan](https://github.com/james-callahan))
-   Enable cmctl to be imported by third parties ([#&#8203;6050](https://github.com/cert-manager/cert-manager/pull/6050), [@&#8203;jetstack-bot](https://github.com/jetstack-bot))
-   The acmesolver pods created by cert-manager now have `automountServiceAccountToken` turned off. ([#&#8203;5754](https://github.com/cert-manager/cert-manager/pull/5754), [@&#8203;wallrj](https://github.com/wallrj))
-   The controller binary now uses much less memory on Kubernetes clusters with large or numerous Secret resources. The controller now ignores the contents of Secrets that aren't relevant to cert-manager. This functionality is currently placed behind `SecretsFilteredCaching` feature flag. The filtering mechanism might, in some cases, slightly slow down issuance or cause additional requests to kube-apiserver because unlabelled Secret resources that cert-manager controller needs will now be retrieved from kube-apiserver instead of being cached locally. To prevent this from happening, users can label all issuer Secret resources with the `controller.cert-manager.io/fao: true` label. ([#&#8203;5824](https://github.com/cert-manager/cert-manager/pull/5824), [@&#8203;irbekrm](https://github.com/irbekrm))
-   The controller memory usage has been further decreased by ignoring annotations, labels and managed fields when caching Secret resources. ([#&#8203;5966](https://github.com/cert-manager/cert-manager/pull/5966), [@&#8203;irbekrm](https://github.com/irbekrm))
-   The controller now makes fewer calls to the ACME server.
    **POTENTIALLY BREAKING**: this PR slightly changes how the name of the Challenge resources are calculated. To avoid duplicate issuances due to the Challenge resource being recreated, ensure that there is no in-progress ACME certificate issuance when you upgrade to this version of cert-manager. ([#&#8203;5901](https://github.com/cert-manager/cert-manager/pull/5901), [@&#8203;irbekrm](https://github.com/irbekrm))
-   The memory usage of the controller has been reduced by only caching the metadata of Pods and Services. ([#&#8203;5976](https://github.com/cert-manager/cert-manager/pull/5976), [@&#8203;irbekrm](https://github.com/irbekrm))
-   The number of calls made to the ACME server during the controller startup has been reduced by storing the private key hash in the Issuer's status. ([#&#8203;6006](https://github.com/cert-manager/cert-manager/pull/6006), [@&#8203;vidarno](https://github.com/vidarno))
-   Updates Kubernetes libraries to `v0.26.2`. ([#&#8203;5820](https://github.com/cert-manager/cert-manager/pull/5820), [@&#8203;lucacome](https://github.com/lucacome))
-   Updates Kubernetes libraries to `v0.26.3`. ([#&#8203;5907](https://github.com/cert-manager/cert-manager/pull/5907), [@&#8203;lucacome](https://github.com/lucacome))
-   Updates Kubernetes libraries to `v0.27.1`. ([#&#8203;5961](https://github.com/cert-manager/cert-manager/pull/5961), [@&#8203;lucacome](https://github.com/lucacome))
-   Updates base images ([#&#8203;5832](https://github.com/cert-manager/cert-manager/pull/5832), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Upgrade to Go 1.20 ([#&#8203;5969](https://github.com/cert-manager/cert-manager/pull/5969), [@&#8203;wallrj](https://github.com/wallrj))
-   Upgrade to go 1.19.5 ([#&#8203;5712](https://github.com/cert-manager/cert-manager/pull/5712), [@&#8203;yanggangtony](https://github.com/yanggangtony))
-   Validates that `certificate.spec.secretName` is a valid `Secret` name ([#&#8203;5967](https://github.com/cert-manager/cert-manager/pull/5967), [@&#8203;avi-08](https://github.com/avi-08))
-   We are now testing with Kubernetes v1.27.1 by default. ([#&#8203;5979](https://github.com/cert-manager/cert-manager/pull/5979), [@&#8203;irbekrm](https://github.com/irbekrm))
-   `certificate.spec.secretName` Secrets will now be labelled with `controller.cert-manager.io/fao` label ([#&#8203;5660](https://github.com/cert-manager/cert-manager/pull/5660), [@&#8203;irbekrm](https://github.com/irbekrm))

##### Uncategorized

-   We have replaced our python boilerplate checker with an installed Go version, removing the need to have Python installed when developing or building cert-manager. ([#&#8203;6000](https://github.com/cert-manager/cert-manager/pull/6000), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.11.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.11.4)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.11.3...v1.11.4)

#### Changes by Kind

##### Other (Cleanup or Flake)

-   Resolved docker/docker trivy CVE alert ([#&#8203;6164](https://github.com/cert-manager/cert-manager/issues/6164), [@&#8203;inteon](https://github.com/inteon))
-   Upgraded base images ([#&#8203;6128](https://github.com/cert-manager/cert-manager/issues/6128), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

#### Dependencies

##### Changed

-   github.com/docker/distribution: [v2.8.1+incompatible → v2.8.2+incompatible](https://github.com/docker/distribution/compare/v2.8.1...v2.8.2)

### [`v1.11.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.11.3)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.11.2...v1.11.3)

v1.11.3 mostly contains ACME library changes. API Priority and Fairness feature is now disabled in the external webhook's extension apiserver.

#### Changes by Kind

##### Other (Cleanup or Flake)

-   API Priority and Fairness controller is now disabled in extension apiserver for DNS webhook implementation. ([#&#8203;6092](https://github.com/cert-manager/cert-manager/pull/6092), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Adds a warning for folks to not use controller feature gates helm value to configure webhook feature gates ([#&#8203;6101](https://github.com/cert-manager/cert-manager/pull/6101), [@&#8203;irbekrm](https://github.com/irbekrm))

### [`v1.11.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.11.2)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.11.1...v1.11.2)

### Changelog since v1.11.1

#### Changes by Kind

##### Bug or Regression

-   Build with go 1.19.9 ([#&#8203;6014](https://github.com/cert-manager/cert-manager/pull/6014), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

##### Other (Cleanup or Flake)

-   Bump the distroless base images ([#&#8203;5930](https://github.com/cert-manager/cert-manager/pull/5930), [@&#8203;maelvls](https://github.com/maelvls))

-   Bumps Docker libraries to fix vulnerability scan alert for CVE-2023-28840, CVE-2023-28841, CVE-2023-28842 ([#&#8203;6037](https://github.com/cert-manager/cert-manager/pull/6037), [@&#8203;irbekrm](https://github.com/irbekrm))
    Cert-manager was not actually affected by these CVEs which are all to do with Docker daemon's overlay network.

-   Bumps Kube libraries v0.26.0 -> v0.26.4 ([#&#8203;6038](https://github.com/cert-manager/cert-manager/pull/6038), [@&#8203;irbekrm](https://github.com/irbekrm))
    This might help with running cert-manager v1.11 on Kubernetes v1.27, see [#&#8203;6038](https://github.com/cert-manager/cert-manager/pull/6038)

### [`v1.11.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.11.1)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.11.0...v1.11.1)

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

In v1.11.1, we updated the base images used for cert-manager containers. In addition, the users of the Venafi issuer will see less certificates repeatedly failing.

If you are a user of Venafi TPP and have been having issues with the error message `This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry`, please use this version.

#### Changes since v1.11.0

##### Bug or Regression

-   Bump helm and other dependencies to fix CVEs, along with upgrading go and base images ([#&#8203;5815](https://github.com/cert-manager/cert-manager/issues/5815), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Bump the distroless base images ([#&#8203;5930](https://github.com/cert-manager/cert-manager/issues/5930), [@&#8203;maelvls](https://github.com/maelvls))
-   The auto-retry mechanism added in VCert 4.23.0 and part of cert-manager 1.11.0 ([#&#8203;5674](https://github.com/cert-manager/cert-manager/issues/5674)) has been found to be faulty. Until this issue is fixed upstream, we now use a patched version of VCert. This patch will slowdown the issuance of certificates by 9% in case of heavy load on TPP. We aim to release at an ulterior date a patch release of cert-manager to fix this slowdown. ([#&#8203;5819](https://github.com/cert-manager/cert-manager/issues/5819), [@&#8203;maelvls](https://github.com/maelvls))
-   Use a fake-kube apiserver version when generating helm template in `cmctl x install`, to work around a hardcoded Kubernetes version in Helm. ([#&#8203;5726](https://github.com/cert-manager/cert-manager/issues/5726), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

##### Other (Cleanup or Flake)

-   Bump keystore-go to v4.4.1 to work around an upstream rewrite of history ([#&#8203;5730](https://github.com/cert-manager/cert-manager/issues/5730), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.11.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.11.0)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.10.2...v1.11.0)

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

`v1.11.0` includes a drastic reduction in cert-manager's runtime memory usage, a slew of improvements to AKS integrations and various other tweaks, fixes and improvements, all towards cert-manager's goal of being the best way to handle certificates in modern Cloud Native applications.

#### Community

Thanks again to all open-source contributors with commits in this release, including:

-   [@&#8203;cmcga1125](https://github.com/cmcga1125)
-   [@&#8203;karlschriek](https://github.com/karlschriek)
-   [@&#8203;lvyanru8200](https://github.com/lvyanru8200)
-   [@&#8203;mmontes11](https://github.com/mmontes11)
-   [@&#8203;pinkfloydx33](https://github.com/pinkfloydx33)
-   [@&#8203;sathyanarays](https://github.com/sathyanarays)
-   [@&#8203;weisdd](https://github.com/weisdd)
-   [@&#8203;yann-soubeyrand](https://github.com/yann-soubeyrand)
-   [@&#8203;joycebrum](https://github.com/joycebrum)
-   [@&#8203;Git-Jiro](https://github.com/Git-Jiro)
-   [@&#8203;thib-mary](https://github.com/thib-mary)
-   [@&#8203;yk](https://github.com/yk)
-   [@&#8203;RomanenkoDenys](https://github.com/RomanenkoDenys)
-   [@&#8203;lucacome](https://github.com/lucacome)
-   [@&#8203;yanggangtony](https://github.com/yanggangtony)

Thanks also to the following cert-manager maintainers for their contributions during this release:

-   [@&#8203;wallrj](https://github.com/wallrj)
-   [@&#8203;irbekrm](https://github.com/irbekrm)
-   [@&#8203;maelvls](https://github.com/maelvls)
-   [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)
-   [@&#8203;inteon](https://github.com/inteon)
-   [@&#8203;jakexks](https://github.com/jakexks)
-   [@&#8203;JoshVanL](https://github.com/JoshVanL)

Thanks also to the [CNCF](https://www.cncf.io/), which provides resources and support, and to the AWS open source team for being good community members and for their maintenance of the [PrivateCA Issuer](https://github.com/cert-manager/aws-privateca-issuer).

In addition, massive thanks to [Jetstack](https://www.jetstack.io/) (by [Venafi](https://www.venafi.com/)) for contributing developer time and resources towards the continued maintenance of cert-manager projects.

#### Changes since cert-manager `v1.10`

For an overview of new features, see the [v1.11 release notes](https://cert-manager.io/docs/release-notes/release-notes-1.11/)!

##### Feature

-   Helm: allow configuring the image used by ACME HTTP-01 solver ([#&#8203;5554](https://github.com/cert-manager/cert-manager/issues/5554), [@&#8203;yann-soubeyrand](https://github.com/yann-soubeyrand))
-   Add the `--max-concurrent-challenges` controller flag to the helm chart ([#&#8203;5638](https://github.com/cert-manager/cert-manager/issues/5638), [@&#8203;lvyanru8200](https://github.com/lvyanru8200))
-   Adds the ability to specify a custom CA bundle in Issuers when connecting to an ACME server ([#&#8203;5644](https://github.com/cert-manager/cert-manager/issues/5644), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Enable testing against Kubernetes 1.26 and test with Kubernetes 1.26 by default ([#&#8203;5646](https://github.com/cert-manager/cert-manager/issues/5646), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Experimental make targets for pushing images to an OCI registry using `ko` and redeploying cert-manager to the cluster referenced by your current KUBECONFIG context. ([#&#8203;5655](https://github.com/cert-manager/cert-manager/issues/5655), [@&#8203;wallrj](https://github.com/wallrj))
-   Add ability to run acmesolver pods as root if desired. The default is still to run as non-root. ([#&#8203;5546](https://github.com/cert-manager/cert-manager/issues/5546), [@&#8203;cmcga1125](https://github.com/cmcga1125))
-   Add support for DC and UID in `LiteralSubject` field, all mandatory OIDs are now supported for LDAP certificates (rfc4514). ([#&#8203;5587](https://github.com/cert-manager/cert-manager/issues/5587), [@&#8203;SpectralHiss](https://github.com/SpectralHiss))
-   Add support for Workload Identity to AzureDNS resolver ([#&#8203;5570](https://github.com/cert-manager/cert-manager/issues/5570), [@&#8203;weisdd](https://github.com/weisdd))
-   Breaking: updates the gateway API integration to use the more stable v1beta1 API version. Any users of the cert-manager `ExperimentalGatewayAPISupport` alpha feature must ensure that `v1beta` of Gateway API is installed in cluster. ([#&#8203;5583](https://github.com/cert-manager/cert-manager/issues/5583), [@&#8203;lvyanru8200](https://github.com/lvyanru8200))
-   Certificate secrets get refreshed if the keystore format change ([#&#8203;5597](https://github.com/cert-manager/cert-manager/issues/5597), [@&#8203;sathyanarays](https://github.com/sathyanarays))
-   Introducing UseCertificateRequestBasicConstraints feature flag to enable Basic Constraints in the Certificate Signing Request ([#&#8203;5552](https://github.com/cert-manager/cert-manager/issues/5552), [@&#8203;sathyanarays](https://github.com/sathyanarays))
-   Return error when Gateway has a cross-namespace secret ref ([#&#8203;5613](https://github.com/cert-manager/cert-manager/issues/5613), [@&#8203;mmontes11](https://github.com/mmontes11))
-   Signers fire an event on CertificateRequests which have not been approved yet. Used for informational purposes so users understand why a request is not progressing. ([#&#8203;5535](https://github.com/cert-manager/cert-manager/issues/5535), [@&#8203;JoshVanL](https://github.com/JoshVanL))

##### Bug or Regression

-   Don't log errors relating to self-signed issuer checks for external issuers ([#&#8203;5681](https://github.com/cert-manager/cert-manager/issues/5681), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Fixed a bug in AzureDNS resolver that led to early reconciliations in misconfigured Workload Identity-enabled setups (when Federated Identity Credential is not linked with a controller's k8s service account) ([#&#8203;5663](https://github.com/cert-manager/cert-manager/issues/5663), [@&#8203;weisdd](https://github.com/weisdd))
-   Use manually specified temporary directory template when verifying CRDs ([#&#8203;5680](https://github.com/cert-manager/cert-manager/issues/5680), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   `vcert` was upgraded to `v4.23.0`, fixing two bugs in cert-manager. The first bug was preventing the Venafi issuer from renewing certificates when using TPP has been fixed. You should no longer see your certificates getting stuck with `WebSDK CertRequest Module Requested Certificate` or `This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.`. The second bug that was fixed prevented the use of `algorithm: Ed25519` in Certificate resources with VaaS. ([#&#8203;5674](https://github.com/cert-manager/cert-manager/issues/5674), [@&#8203;maelvls](https://github.com/maelvls))
-   Upgrade `golang/x/net` to fix CVE-2022-41717 ([#&#8203;5632](https://github.com/cert-manager/cert-manager/issues/5632), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Bug fix: When using feature gates with the helm chart, enable feature gate flags on webhook as well as controller ([#&#8203;5584](https://github.com/cert-manager/cert-manager/issues/5584), [@&#8203;lvyanru8200](https://github.com/lvyanru8200))
-   Fix `golang.org/x/text` vulnerability ([#&#8203;5562](https://github.com/cert-manager/cert-manager/issues/5562), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Fixes a bug that caused the Vault issuer to omit the Vault namespace in requests to the Vault API. ([#&#8203;5591](https://github.com/cert-manager/cert-manager/issues/5591), [@&#8203;wallrj](https://github.com/wallrj))
-   The Venafi Issuer now supports TLS 1.2 renegotiation, so that it can connect to TPP servers where the vedauth API endpoints are configured to *accept* client certificates. (Note: This does not mean that the Venafi Issuer supports client certificate authentication). ([#&#8203;5568](https://github.com/cert-manager/cert-manager/issues/5568), [@&#8203;wallrj](https://github.com/wallrj))
-   Upgrade to go 1.19.4 to fix CVE-2022-41717 ([#&#8203;5619](https://github.com/cert-manager/cert-manager/issues/5619), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Upgrade to latest go minor release ([#&#8203;5559](https://github.com/cert-manager/cert-manager/issues/5559), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Ensure `extraArgs` in Helm takes precedence over the new acmesolver image options ([#&#8203;5702](https://github.com/cert-manager/cert-manager/issues/5702), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Fix cainjector's --namespace flag. Users who want to prevent cainjector from reading all Secrets and Certificates in all namespaces (i.e to prevent excessive memory consumption) can now scope it to a single namespace using the --namespace flag. A cainjector that is only used as part of cert-manager installation only needs access to the cert-manager installation namespace. ([#&#8203;5694](https://github.com/cert-manager/cert-manager/issues/5694), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Fixes a bug where cert-manager controller was caching all Secrets twice ([#&#8203;5691](https://github.com/cert-manager/cert-manager/issues/5691), [@&#8203;irbekrm](https://github.com/irbekrm))

##### Other

-   `certificate.spec.secretName` Secrets will now be labelled with the `controller.cert-manager.io/fao` label ([#&#8203;5703](https://github.com/cert-manager/cert-manager/issues/5703), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Upgrade to go 1.19.5 ([#&#8203;5714](https://github.com/cert-manager/cert-manager/issues/5714), [@&#8203;yanggangtony](https://github.com/yanggangtony))

##### Known issues

-   There is a bug in conformance tests for external DNS webhook implementations that was introduced in this release, see https://github.com/cert-manager/cert-manager/issues/5725
    If you are importing cert-manager as a library to run conformance tests against your DNS webhook solver implementation, please make sure that you import a version with a fix, see https://github.com/cert-manager/cert-manager/issues/5725#issuecomment-1397245757

### [`v1.10.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.10.2)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.10.1...v1.10.2)

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

v1.10.2 is primarily a performance enhancement release which might reduce memory consumption by up to 50% in some cases thanks to some brilliant work by [@&#8203;irbekrm](https://github.com/irbekrm)! :tada:

It also patches several vulnerabilities reported by scanners and updates the base images used for cert-manager containers. In addition, it removes a potentially confusing log line which had been introduced in v1.10.0 which implied that an error had occurred when using external issuers even though there'd been no error.

#### Changes since `v1.10.1`

##### Feature

-   Enable support for Kubernetes 1.26 in tests ([#&#8203;5647](https://github.com/cert-manager/cert-manager/issues/5647), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

##### Bug or Regression

-   Fixes a bug where the cert-manager controller was caching all Secrets twice ([#&#8203;5704](https://github.com/cert-manager/cert-manager/issues/5704), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Bump helm version to fix CVE-2022-23525 ([#&#8203;5676](https://github.com/cert-manager/cert-manager/issues/5676), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Don't log errors relating to selfsigned issuer checks for external issuers ([#&#8203;5687](https://github.com/cert-manager/cert-manager/issues/5687), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Fix `golang.org/x/text` vulnerability ([#&#8203;5592](https://github.com/cert-manager/cert-manager/issues/5592), [@&#8203;SgtCoDfish](https://github.com/SgtCoDfish))
-   Upgrade golang/x/net to fix CVE-2022-41717 ([#&#8203;5635](https://github.com/cert-manager/cert-manager/issues/5635), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Upgrade to go 1.19.4 to fix CVE-2022-41717 ([#&#8203;5620](https://github.com/cert-manager/cert-manager/issues/5620), [@&#8203;SgtCoDfish](https://github.com/SgtCoDfish))
-   Use manually specified tmpdir template when verifying CRDs ([#&#8203;5682](https://github.com/cert-manager/cert-manager/issues/5682), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

##### Other (Cleanup or Flake)

-   Bump distroless base images to latest versions ([#&#8203;5677](https://github.com/cert-manager/cert-manager/issues/5677), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.10.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.10.1)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.10.0...v1.10.1)

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

cert-manager v1.10.1 is a bug fix release which fixes a problem which prevented the Venafi Issuer from connecting to TPP servers where the vedauth API endpoints were configured to accept client certificates.
It is also compiled with a newer version of Go 1.19 (v1.19.3) which fixes some vulnerabilities in the Go standard library.

#### Changes since `v1.10.0`

##### Bug or Regression

-   The Venafi Issuer now supports TLS 1.2 renegotiation, so that it can connect to TPP servers where the `vedauth` API endpoints are configured to *accept* client certificates.
    (Note: This does not mean that the Venafi Issuer supports client certificate authentication).
    ([#&#8203;5576](https://github.com/cert-manager/cert-manager/pull/5371), [@&#8203;wallrj](https://github.com/wallrj))
-   Upgrade to latest go patch release
    ([#&#8203;5560](https://github.com/cert-manager/cert-manager/pull/5560), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish) )

### [`v1.10.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.10.0)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.9.2...v1.10.0)

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

Version 1.10 adds a variety of quality-of-life fixes and features including improvements to the test suite.

#### Changes since v1.9.1

##### Breaking Changes (You MUST read this before you upgrade!)

##### Container Name Changes

This change is only relevant if you install cert-manager using Helm or the static manifest files. `v1.10.0` [changes the names](https://github.com/cert-manager/cert-manager/pull/5410) of containers in pods created by cert-manager.

The names are changed to better reflect what they do; for example, the container in the controller pod had its name changed from `cert-manager` to `cert-manager-controller`,
and the webhook pod had its container name changed from `cert-manager` to `cert-manager-webhook`.

This change could cause a break if you:

1.  Use Helm or the static manifests, and
2.  Have scripts, tools or tasks which rely on the names of the cert-manager containers being static

If both of these are true, you may need to update your automation before you upgrade.

##### On OpenShift the cert-manager Pods may fail until you modify Security Context Constraints

In cert-manager 1.10 the [secure computing (seccomp) profile](https://kubernetes.io/docs/tutorials/security/seccomp/) for all the Pods is set to RuntimeDefault. (See [#&#8203;5259](https://github.com/cert-manager/cert-manager/issues/5259).) The securityContext fields of the Pod are set as follows:

```yaml
...

### ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
securityContext:
  seccompProfile:
    type: RuntimeDefault
    ...

```

On some versions and configurations of OpenShift this can cause the Pod to be rejected by the [Security Context Constraints admission webhook](https://docs.openshift.com/container-platform/4.10/authentication/managing-security-context-constraints.html#admission_configuring-internal-oauth).
Read [full release notes](https://cert-manager.io/docs/release-notes/release-notes-1.10#on-openshift-the-cert-manager-pods-may-fail-until-you-modify-security-context-constraints) to learn if this might affect you and how to fix it.

##### Feature

-   Add `issuer_name`, `issuer_kind` and `issuer_group` labels to `certificate_expiration_timestamp_seconds`, `certmanager_certificate_renewal_timestamp_seconds` and `certmanager_certificate_ready_status` metrics ([#&#8203;5461](https://github.com/cert-manager/cert-manager/issues/5461), [@&#8203;dkulchinsky](https://github.com/dkulchinsky))
-   Add make targets for running scans with trivy against locally built containers ([#&#8203;5358](https://github.com/cert-manager/cert-manager/issues/5358), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   CertificateRequests: requests that use the SelfSigned Issuer will be re-reconciled when the target private key Secret has been informed `cert-manager.io/private-key-secret-name`. This resolves an issue whereby a request would never be signed when the target Secret was not created or was misconfigured before the request. ([#&#8203;5336](https://github.com/cert-manager/cert-manager/issues/5336), [@&#8203;JoshVanL](https://github.com/JoshVanL))
-   CertificateSigningRequests: requests that use the SelfSigned Issuer will be re-reconciled when the target private key Secret has been informed `experimental.cert-manager.io/private-key-secret-name`. This resolves an issue whereby a request would never be signed when the target Secret was not created or was misconfigured before the request.
    CertificateSigningRequets will also now no-longer be marked as failed when the target private key Secret is malformed- now only firing an event. When the Secret data is resolved, the request will attempt issuance. ([#&#8203;5379](https://github.com/cert-manager/cert-manager/issues/5379), [@&#8203;JoshVanL](https://github.com/JoshVanL))
-   Upgraded Gateway API to v0.5.0 ([#&#8203;5376](https://github.com/cert-manager/cert-manager/issues/5376), [@&#8203;inteon](https://github.com/inteon))
-   Add caBundleSecretRef to the Vault Issuer to allow referencing the Vault CA Bundle with a Secret. Cannot be used in conjunction with the in-line caBundle field. ([#&#8203;5387](https://github.com/cert-manager/cert-manager/issues/5387), [@&#8203;Tolsto](https://github.com/Tolsto))
-   The feature to create certificate requests with the name being a function of certificate name and revision has been introduced under the feature flag "StableCertificateRequestName" and it is disabled by default. This helps to prevent the error "multiple CertificateRequests were found for the 'next' revision...". ([#&#8203;5487](https://github.com/cert-manager/cert-manager/issues/5487), [@&#8203;sathyanarays](https://github.com/sathyanarays))
-   Helm: Added a new parameter `commonLabels` which gives you the capability to add the same label on all the resource deployed by the chart. ([#&#8203;5208](https://github.com/cert-manager/cert-manager/issues/5208), [@&#8203;thib-mary](https://github.com/thib-mary))

##### Bug or Regression

-   CertificateSigningRequest: no longer mark a request as failed when using the SelfSigned issuer, and the Secret referenced in `experimental.cert-manager.io/private-key-secret-name` doesn't exist. ([#&#8203;5323](https://github.com/cert-manager/cert-manager/issues/5323), [@&#8203;JoshVanL](https://github.com/JoshVanL))
-   DNS Route53: Remove incorrect validation which rejects solvers that don't define either a `accessKeyID` or `secretAccessKeyID`. ([#&#8203;5339](https://github.com/cert-manager/cert-manager/issues/5339), [@&#8203;JoshVanL](https://github.com/JoshVanL))
-   Enhanced securityContext for PSS/restricted compliance. ([#&#8203;5259](https://github.com/cert-manager/cert-manager/issues/5259), [@&#8203;joebowbeer](https://github.com/joebowbeer))
    **Breaking**: this might require changes for OpenShift deployments. Read [full release notes](https://cert-manager.io/docs/release-notes/release-notes-1.10#on-openshift-the-cert-manager-pods-may-fail-until-you-modify-security-context-constraints) to learn more.
-   Fix issue where CertificateRequests marked as InvalidRequest did not properly trigger issuance failure handling leading to 'stuck' requests ([#&#8203;5366](https://github.com/cert-manager/cert-manager/issues/5366), [@&#8203;munnerz](https://github.com/munnerz))
-   `cmctl` and `kubectl cert-manager` now report their actual versions instead of "canary", fixing issue [#&#8203;5020](https://github.com/cert-manager/cert-manager/issues/5020) ([#&#8203;5022](https://github.com/cert-manager/cert-manager/issues/5022), [@&#8203;maelvls](https://github.com/maelvls))

##### Other

-   Avoid hard-coding release namespace in helm chart ([#&#8203;5163](https://github.com/cert-manager/cert-manager/issues/5163), [@&#8203;james-callahan](https://github.com/james-callahan))
-   Bump cert-manager's version of Go to `1.19` ([#&#8203;5466](https://github.com/cert-manager/cert-manager/issues/5466), [@&#8203;lucacome](https://github.com/lucacome))
-   Remove `.bazel` and `.bzl` files from cert-manager now that bazel has been fully replaced ([#&#8203;5340](https://github.com/cert-manager/cert-manager/issues/5340), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Updates Kubernetes libraries to `v0.25.2`. ([#&#8203;5456](https://github.com/cert-manager/cert-manager/issues/5456), [@&#8203;lucacome](https://github.com/lucacome))
-   Add annotations for ServiceMonitor in helm chart ([#&#8203;5401](https://github.com/cert-manager/cert-manager/issues/5401), [@&#8203;sathieu](https://github.com/sathieu))
-   Helm: Add NetworkPolicy support ([#&#8203;5417](https://github.com/cert-manager/cert-manager/issues/5417), [@&#8203;mjudeikis](https://github.com/mjudeikis))
-   To help troubleshooting, make the container names unique.
    BREAKING: this change will break scripts/ CI that depend on `cert-manager` being the container name. ([#&#8203;5410](https://github.com/cert-manager/cert-manager/issues/5410), [@&#8203;rgl](https://github.com/rgl))

#### Thank You!

Thank you to the following community members who had a merged PR for this version - your contributions are at the heart of everything we do!

-   [@&#8203;joebowbeer](https://github.com/joebowbeer)
-   [@&#8203;rgl](https://github.com/rgl)
-   [@&#8203;lucacome](https://github.com/lucacome)
-   [@&#8203;sathieu](https://github.com/sathieu)
-   [@&#8203;mjudeikis](https://github.com/mjudeikis)
-   [@&#8203;james-callahan](https://github.com/james-callahan)
-   [@&#8203;dkulchinsky](https://github.com/dkulchinsky)
-   [@&#8203;thib-mary](https://github.com/thib-mary)
-   [@&#8203;Tolsto](https://github.com/Tolsto)
-   [@&#8203;sathyanarays](https://github.com/sathyanarays)

Thanks also to the following maintainers who worked on cert-manager 1.10:

-   [@&#8203;irbekrm](https://github.com/irbekrm)
-   [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)
-   [@&#8203;jakexks](https://github.com/jakexks)
-   [@&#8203;wallrj](https://github.com/wallrj)
-   [@&#8203;maelvls](https://github.com/maelvls)
-   [@&#8203;JoshVanL](https://github.com/JoshVanL)
-   [@&#8203;jahrlin](https://github.com/jahrlin)
-   [@&#8203;munnerz](https://github.com/munnerz)
-   [@&#8203;inteon](https://github.com/inteon)

### [`v1.9.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.9.2)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.9.1...v1.9.2)

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

cert-manager `v1.9.2` is a bug fix release which fixes an issue where CertificateRequests marked as InvalidRequest did not properly trigger issuance failure handling leading to 'stuck' requests, and a problem which prevented the Venafi Issuer from connecting to TPP servers where the `vedauth` API endpoints were configured to *accept* client certificates.
It is also compiled with a newer version of Go 1.18 (`v1.18.8`) which fixes some vulnerabilities in the Go standard library.

#### Changes since `v1.9.1`

##### Bug or Regression

-   Fix issue where CertificateRequests marked as InvalidRequest did not properly trigger issuance failure handling leading to 'stuck' requests.
    ([#&#8203;5371](https://github.com/cert-manager/cert-manager/pull/5371), [@&#8203;munnerz](https://github.com/munnerz) )
-   The Venafi Issuer now supports TLS 1.2 renegotiation, so that it can connect to TPP servers where the `vedauth` API endpoints are configured to *accept* client certificates. (Note: This does not mean that the Venafi Issuer supports client certificate authentication).
    ([#&#8203;5577](https://github.com/cert-manager/cert-manager/pull/5577), [@&#8203;wallrj](https://github.com/wallrj))
-   Upgrade to latest go patch release.
    ([#&#8203;5561](https://github.com/cert-manager/cert-manager/pull/5561), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.9.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.9.1)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.9.0...v1.9.1)

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

Version 1.9.1 is a bugfix release which removes an incorrect check in the Route53 DNS solver. This accidental change prevented the use of credentials derived from instance metadata or AWS pod metadata.

Thanks to [@&#8203;danquack](https://github.com/danquack) and [@&#8203;ArchiFleKs](https://github.com/ArchiFleKs) for raising this issue, and [@&#8203;danquack](https://github.com/danquack) and [@&#8203;JoshVanL](https://github.com/JoshVanL) for fixing it!

### Changes since v1.9.0

#### Bug

-   DNS Route53: Remove incorrect validation which rejects solvers that don't define either a `accessKeyID` or `secretAccessKeyID`. ([#&#8203;5341](https://github.com/cert-manager/cert-manager/pull/5341), [@&#8203;JoshVanL](https://github.com/JoshVanL) [@&#8203;danquack](https://github.com/danquack) )

### [`v1.9.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.9.0)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.8.2...v1.9.0)

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

The new version adds alpha support for using cert-manager `Certificate`s in scenarios where the ordering of the Relative Distinguished Names (RDN) sequence that constitutes an X.509 certificate's subject needs to be preserved; improves the ability to configure the `Certificate` created via ingress-shim using annotations on the `Ingress` resource; introduces various changes/improvements in contributor flow; and finishes the  new make-based contributor workflow.

#### Major Themes

##### Literal Certificate Subjects

cert-manager's `Certificate` allows users to configure the subject fields of the X.509 certificate via `spec.subject` and `spec.commonName` fields. The [X.509 spec](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) states that the subject is an (ordered) sequence of Relative Distinguished Names (RDN).

cert-manager does not strictly abide by this spec when encoding the subject fields from the `Certificate` spec. For example, the order of the RDN sequence may not be preserved. This is because cert-manager uses Go's libraries for X.509 certificates, and the Go libraries don't preserve ordering.

For the vast majority of users this does not matter, but there are specific cases that require defining the exact ordered RDN sequence. For example, if the certificate is used for LDAP authentication and the RDN sequence represents a [location in LDAP directory tree](https://ldapwiki.com/wiki/Directory%20Information%20Tree). See [`cert-manager#3203`](https://github.com/cert-manager/cert-manager/issues/3203).

For these use cases, a new alpha `LiteralSubject` field has been added to the `Certificate` spec where users can pass a literal RDN sequence:

```yaml
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: test
spec:
  secretName: test
  literalSubject: "C=US,O=myOrg,CN=someName"
```

To use this field, the alpha feature gate `LiteralCertificateSubject` needs to be enabled on both the cert-manager controller and webhook. Bear in mind that `spec.literalSubject` is mutually exclusive with `spec.commonName` and `spec.subject`.

This feature is aimed at the specific scenario where an exact RDN sequence needs to be defined. We do not intend to deprecate the existing `spec.subject` and `spec.commonName` fields and we recommend that folks keep using those fields in all other cases; they're simpler, have better validation and are more obvious to read and change.

##### ingress-shim `Certificate` Configuration

cert-manager 1.9 adds the ability to configure an ingress-shim `Certificate`'s `spec.revisionHistoryLimit` and `spec.privateKey` via [annotations on the `Ingress` resource](https://cert-manager.io/docs/usage/ingress/#supported-annotations).

This should allow folks to configure ingress-shim `Certificate`s according to best practices (i.e by setting `Certificate`'s `spec.privateKey.rotationPolicy` to `Always`).

In the future we would like to design a better mechanism to configure these `Certificate`s. We advise caution when using `Ingress` annotations as there is no validation of the annotations at `Ingress` creation time.

##### Contribution Workflow

Over the past couple of months there have been a number of discussions in regards to contributor experience and project health, partially triggered by the awesome community discussions in cert-manager's KubeCon booth and also by the work done to move cert-manager to CNCF's incubating stage.

For example, we've [clarified our feature policy](https://cert-manager.io/docs/contributing/policy/) and discussed the process of building cert-manager's [roadmap](https://github.com/cert-manager/cert-manager/blob/master/ROADMAP.md). If you're interested in these topics, we're happy to chat about them!

##### `make` Workflow

cert-manager 1.8 introduced a new `make` based workflow alongside the existing Bazel workflow. The work to improve the `make` workflow was continued in 1.9 and our [contributor documentation](https://cert-manager.io/docs/contributing/building/) has been redefined to use `make` commands. This should make building and testing cert-manager easier with faster build and test times, easier debugging and less complexity.

As part of this, Bazel has now been fully deprecated for building and testing cert-manager.

As usual, we welcome any feedback in regards to further improving contributor experience.

#### Thank You!

Thank you to the following community members who had a merged PR for this version - your contributions are at the heart of everything we do!

-   [@&#8203;AcidLeroy](https://github.com/AcidLeroy)
-   [@&#8203;oGi4i](https://github.com/oGi4i)
-   [@&#8203;spockz](https://github.com/spockz) (and [@&#8203;yongk802](https://github.com/yongk802) who raised a similar PR)
-   [@&#8203;andrewgkew](https://github.com/andrewgkew)
-   [@&#8203;sveba](https://github.com/sveba)
-   [@&#8203;rodrigorfk](https://github.com/rodrigorfk)
-   [@&#8203;craigminihan](https://github.com/craigminihan)
-   [@&#8203;lucacome](https://github.com/lucacome)
-   [@&#8203;Dean-Coakley](https://github.com/Dean-Coakley)
-   [@&#8203;Compy](https://github.com/Compy)

Thanks also to the following maintainers who worked on cert-manager 1.9:

-   [@&#8203;irbekrm](https://github.com/irbekrm)
-   [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)
-   [@&#8203;jakexks](https://github.com/jakexks)
-   [@&#8203;wallrj](https://github.com/wallrj)
-   [@&#8203;maelvls](https://github.com/maelvls)
-   [@&#8203;JoshVanL](https://github.com/JoshVanL)
-   [@&#8203;jahrlin](https://github.com/jahrlin)
-   [@&#8203;munnerz](https://github.com/munnerz)

#### Changes since v1.8.0

##### Feature

-   Added support for pulling both AWS access key IDs and secret keys from Kubernetes secrets ([#&#8203;5194](https://github.com/cert-manager/cert-manager/issues/5194), [@&#8203;Compy](https://github.com/Compy))
-   Adds `make clean-all` for starting a fresh development environment and `make which-go` for getting go version information when developing cert-manager ([#&#8203;5118](https://github.com/cert-manager/cert-manager/issues/5118), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Adds `make upload-release` target for publishing cert-manager releases to GCS, simplifying the cert-manager release process simpler and making it easier to change ([#&#8203;5205](https://github.com/cert-manager/cert-manager/issues/5205), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Adds a new alpha Prometheus summary vector metric `certmanager_http_venafi_client_request_duration_seconds` which allows tracking the latency of Venafi API calls. The metric is labelled by the type of API call. Example PromQL query: `certmanager_http_venafi_client_request_duration_seconds{api_call="request_certificate"}` will show the average latency of calls to the Venafi certificate request endpoint ([#&#8203;5053](https://github.com/cert-manager/cert-manager/issues/5053), [@&#8203;irbekrm](https://github.com/irbekrm))
-   Adds more verbose logging info for certificate renewal in the DynamicSource webhook to include DNSNames ([#&#8203;5142](https://github.com/cert-manager/cert-manager/issues/5142), [@&#8203;AcidLeroy](https://github.com/AcidLeroy))
-   Adds new LICENSES format and ability to verify and update licenses through make ([#&#8203;5243](https://github.com/cert-manager/cert-manager/issues/5243), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Adds private key Ingress annotations to set private key properties for Certificate ([#&#8203;5239](https://github.com/cert-manager/cert-manager/issues/5239), [@&#8203;oGi4i](https://github.com/oGi4i))
-   Adds the `cert-manager.io/revision-history-limit` annotation for Ingress resources, to limit the number of CertificateRequests which are kept for a Certificate ([#&#8203;5221](https://github.com/cert-manager/cert-manager/issues/5221), [@&#8203;oGi4i](https://github.com/oGi4i))
-   Adds the `literalSubject` field for Certificate resources. This is an alpha feature, enabled by passing the flag `--feature-gates=LiteralCertificateSubject=true` to the cert-manager controller and webhook. `literalSubject` allows fine-grained control of the subject a certificate should have when issued and is intended for power-users with specific use cases in mind ([#&#8203;5002](https://github.com/cert-manager/cert-manager/issues/5002), [@&#8203;spockz](https://github.com/spockz))
-   Change default build dir from `bin` to `_bin`, which plays better with certain tools which might treat `bin` as just another source directory ([#&#8203;5130](https://github.com/cert-manager/cert-manager/issues/5130), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Helm: Adds a new `namespace` parameter which allows users to override the namespace in which resources will be created. This also allows users to set the namespace of the chart when using cert-manager as a sub chart. ([#&#8203;5141](https://github.com/cert-manager/cert-manager/issues/5141), [@&#8203;andrewgkew](https://github.com/andrewgkew))
-   Helm: Allow for users to not auto-mount service account tokens [see also k/k#57601](https://github.com/kubernetes/kubernetes/issues/57601) ([#&#8203;5016](https://github.com/cert-manager/cert-manager/issues/5016), [@&#8203;sveba](https://github.com/sveba))
-   Use multiple retries when provisioning tools using `curl`, to reduce flakes in tests and development environments ([#&#8203;5272](https://github.com/cert-manager/cert-manager/issues/5272), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

##### Bug or Regression

-   CertificateRequests controllers must wait for the core secrets informer to be synced ([#&#8203;5224](https://github.com/cert-manager/cert-manager/issues/5224), [@&#8203;rodrigorfk](https://github.com/rodrigorfk))
-   Ensure that `make release-artifacts` only builds unsigned artifacts as intended ([#&#8203;5181](https://github.com/cert-manager/cert-manager/issues/5181), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Ensure the startupapicheck is only scheduled on Linux nodes in the helm chart ([#&#8203;5136](https://github.com/cert-manager/cert-manager/issues/5136), [@&#8203;craigminihan](https://github.com/craigminihan))
-   Fixed a bug where the Venafi Issuer would not verify its access token (TPP) or API key (Cloud) before becoming ready. Venafi Issuers now remotely verify the access token or API key ([#&#8203;5212](https://github.com/cert-manager/cert-manager/issues/5212), [@&#8203;jahrlin](https://github.com/jahrlin))
-   Fixed release artifact archives generated by Make so that a leading `./` is stripped from paths. This ensures that behaviour is the same as v1.7 and earlier ([#&#8203;5050](https://github.com/cert-manager/cert-manager/issues/5050), [@&#8203;jahrlin](https://github.com/jahrlin))
-   Increase timeouts for issuer and clusterissuer controllers to 2 minutes and increase ACME client HTTP timeouts to 90 seconds, in order to enable the use of slower ACME issuers which take a long time to process certain requests. ([#&#8203;5226](https://github.com/cert-manager/cert-manager/issues/5226), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
-   Increases Venafi Issuer timeout for retrieving a certificate increased to 60 seconds, up from 10. This gives TPP i…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants