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

Update module github.com/cert-manager/cert-manager to v1.13.0 - autoclosed #19

Closed

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 12, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
github.com/cert-manager/cert-manager require minor v1.11.0 -> v1.13.0

Release Notes

cert-manager/cert-manager (github.com/cert-manager/cert-manager)

v1.13.0

Compare Source

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

This is the 1.13 release of cert-manager!

cert-manager 1.13 brings support for DNS over HTTPS, support for loading options from a versioned
config file for the cert-manager controller, and more. This release also includes the promotion of
the StableCertificateRequestName and SecretsFilteredCaching feature gates to Beta.

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

  1. BREAKING : If you deploy cert-manager using helm and have .featureGates value set, the features defined there will no longer be passed to cert-manager webhook, only to cert-manager controller. Use webhook.featureGates field instead to define features to be enabled on webhook. (#​6093, @​irbekrm)
  2. Potentially breaking: If you were, for some reason, passing cert-manager controller's features to webhook's --feature-gates flag, this will now break (unless the webhook actually has a feature by that name). (#​6093, @​irbekrm)
  3. Potentially breaking: Webhook validation of CertificateRequest resources is stricter now: all KeyUsages and ExtendedKeyUsages must be defined directly in the CertificateRequest resource, the encoded CSR can never contain more usages that defined there. (#​6182, @​inteon)

Community

Welcome to these new cert-manager members (more info - https://github.com/cert-manager/cert-manager/pull/6260):
@​jsoref
@​FlorianLiebhart
@​hawksight
@​erikgb

Thanks again to all open-source contributors with commits in this release, including:
@​AcidLeroy
@​FlorianLiebhart
@​lucacome
@​cypres
@​erikgb
@​ubergesundheit
@​jkroepke
@​jsoref
@​gdvalle
@​rouke-broersma
@​schrodit
@​zhangzhiqiangcs
@​arukiidou
@​hawksight
@​Richardds
@​kahirokunn

Thanks also to the following cert-manager maintainers for their contributions during this release:
@​SgtCoDFish
@​maelvls
@​irbekrm
@​inteon

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

Special thanks to @​AcidLeroy for adding "load options from a versioned config file" support for the cert-manager controller! This has been on our wishlist for a very long time. (see https://github.com/cert-manager/cert-manager/pull/5337)

Also, thanks a lot to @​FlorianLiebhart for adding support for DNS over HTTPS for the ACME DNS self-check. This is very useful in case all traffic must be HTTP(S) trafic, eg. when using a HTTPS_PROXY. (see https://github.com/cert-manager/cert-manager/pull/5003)

Thanks also to the CNCF, 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.

In addition, massive thanks to Venafi for contributing developer time and resources towards the continued maintenance of cert-manager projects.

Changes since v1.12.0

Feature
  • Add support for logging options to webhook config file. (#​6243, @​inteon)
  • Add view permissions to the well-known (Openshift) user-facing cluster-reader aggregated cluster role (#​6241, @​erikgb)
  • Certificate Shim: distinguish dns names and ip address in certificate (#​6267, @​zhangzhiqiangcs)
  • Cmctl can now be imported by third parties. (#​6049, @​SgtCoDFish)
  • Make enableServiceLinks configurable for all Deployments and startupapicheck Job in Helm chart. (#​6292, @​ubergesundheit)
  • Promoted the StableCertificateRequestName and SecretsFilteredCaching feature gates to Beta (enabled by default). (#​6298, @​inteon)
  • The cert-manager controller options are now configurable using a configuration file. (#​5337, @​AcidLeroy)
  • The pki CertificateTemplate functions now perform validation of the CSR blob, making sure we sign a Certificate that matches the IsCA and (Extended)KeyUsages that are defined in the CertificateRequest resource. (#​6199, @​inteon)
  • [helm] Add prometheus.servicemonitor.endpointAdditionalProperties to define additional properties on a ServiceMonitor endpoint, e.g. relabelings (#​6110, @​jkroepke)
Design
  • DNS over HTTPS (DoH) is now possible for doing the self-checks during the ACME verification.
    The DNS check method to be used is controlled through the command line flag: --dns01-recursive-nameservers-only=true in combination with --dns01-recursive-nameservers=https://<DoH-endpoint> (e.g. https://8.8.8.8/dns-query). It keeps using DNS lookup as a default method. (#​5003, @​FlorianLiebhart)
Bug or Regression
  • Allow overriding default pdb .minAvailable with .maxUnavailable without setting .minAvailable to null (#​6087, @​rouke-broersma)
  • BUGFIX: cmctl check api --wait 0 exited without output and exit code 1; we now make sure we perform the API check at least once and return with the correct error code (#​6109, @​inteon)
  • BUGFIX: the issuer and certificate-name annotations on a Secret were incorrectly updated when other fields are changed. (#​6147, @​inteon)
  • BUGFIX[cainjector]: 1-character bug was causing invalid log messages and a memory leak (#​6232, @​inteon)
  • Fix CloudDNS issuers stuck in propagation check, when multiple instances are issuing for the same FQDN (#​6088, @​cypres)
  • Fix indentation of Webhook NetworkPolicy matchLabels in helm chart. (#​6220, @​ubergesundheit)
  • Fixed Cloudflare DNS01 challenge provider race condition when validating multiple domains (#​6191, @​Richardds)
  • Fixes a bug where webhook was pulling in controller's feature gates.
    ⚠️ ⚠️ BREAKING ⚠️ ⚠️ : If you deploy cert-manager using helm and have .featureGates value set, the features defined there will no longer be passed to cert-manager webhook, only to cert-manager controller. Use webhook.featureGates field instead to define features to be enabled on webhook.
    ⚠️Potentially breaking: If you were, for some reason, passing cert-manager controller's features to webhook's --feature-gates flag, this will now break (unless the webhook actually has a feature by that name). (#​6093, @​irbekrm)
  • Fixes an issue where cert-manager would incorrectly reject two IP addresses as being unequal when they should have compared equal. This would be most noticeable when using an IPv6 address which doesn't match how Go's net.IP.String() function would have printed that address. (#​6293, @​SgtCoDFish)
  • We disabled the enableServiceLinks option for our ACME http solver pods, because the option caused the pod to be in a crash loop in a cluster with lot of services. (#​6143, @​schrodit)
  • ⚠️Potentially breaking: Webhook validation of CertificateRequest resources is stricter now: all KeyUsages and ExtendedKeyUsages must be defined directly in the CertificateRequest resource, the encoded CSR can never contain more usages that defined there. (#​6182, @​inteon)
Other (Cleanup or Flake)
  • A subset of the klogs flags have been deprecated and will be removed in the future. (#​5879, @​maelvls)
  • All service links in helm chart deployments have been disabled. (#​6144, @​schrodit)
  • Cert-manager will now re-issue a certificate if the public key in the latest CertificateRequest resource linked to a Certificate resource does not match the public key of the key encoded in the Secret linked to that Certificate resource (#​6168, @​inteon)
  • Chore: When hostNetwork is enabled, dnsPolicy is now set to ClusterFirstWithHostNet. (#​6156, @​kahirokunn)
  • Cleanup the controller configfile structure by introducing sub-structs. (#​6242, @​inteon)
  • Don't run API Priority and Fairness controller in webhook's extension apiserver (#​6085, @​irbekrm)
  • Helm: Add apache 2.0 license annotation (#​6225, @​arukiidou)
  • Make apis/acme/v1/ACMEIssuer.PreferredChain optional in JSON serialization. (#​6034, @​gdvalle)
  • The SecretPostIssuancePolicyChain now also makes sure that the cert-manager.io/common-name, cert-manager.io/alt-names, ... annotations on Secrets are kept at their correct value. (#​6176, @​inteon)
  • The cmctl logging has been improved and support for json logging has been added. (#​6247, @​inteon)
  • Updates Kubernetes libraries to v0.27.2. (#​6077, @​lucacome)
  • Updates Kubernetes libraries to v0.27.4. (#​6227, @​lucacome)
  • We now only check that the issuer name, kind and group annotations on a Secret match in case those annotations are set. (#​6152, @​inteon)

v1.12.4

Compare Source

v1.12.4 contains an important security fix that addresses CVE-2023-29409.

Changes since v1.12.3

  • Fixes an issue where cert-manager would incorrectly reject two IP addresses as being unequal when they should hav
    e compared equal. This would be most noticeable when using an IPv6 address which doesn't match how Go's net.IP.Str ing() function would have printed that address. (#​6297, @​SgtCoDFish)
  • Use Go 1.20.7 to fix a security issue in Go's crypto/tls library. (#​6318, @​maelvls)

v1.12.3

Compare Source

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

v1.12.3 contains a bug fix for the cainjector which addresses a memory leak!

Changes by Kind

Bugfixes

v1.12.2

Compare Source

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

v1.12.2 is a bugfix release, but includes a known issue. You should prefer v1.12.3 instead!

Known issues

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 (#​6116, @​jetstack-bot)

v1.12.1

Compare Source

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

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

Known issues

Changes by Kind

Other (Cleanup or Flake)
  • Don't run API Priority and Fairness controller in webhook's extension apiserver (#​6085, @​irbekrm)
  • Adds a warning for folks to not use controller feature gates helm value to configure webhook feature gates (#​6100, @​irbekrm)
Uncategorized

v1.12.0

Compare Source

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
Community

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

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

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 @​erikgb for continuously great input and feedback and to @​lucacome for always ensuring that our kube deps are up to date!

Thanks also to the CNCF, 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.

In addition, massive thanks to Jetstack (by Venafi) 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. (#​5880, @​SgtCoDFish)
  • Added support for JSON logging (using --logging-format=json) (#​5828, @​malovme)
  • Added the --concurrent-workers flag that lets you control the number of concurrent workers for each of our controllers. (#​5936, @​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. (#​5801, @​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. (#​5766, @​irbekrm)
  • Helm: Added PodDisruptionBudgets for cert-manager components to the Helm chart (disabled by default). (#​3931, @​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. (#​5788, @​ExNG)
  • Helm: you can now add volumes and volume mounts via Helm variables for the cainjector, webhook, and startupapicheck. (#​5668, @​waterfoul)
  • Helm: you can now enable the flags --dns01-recursive-nameservers, --enable-certificate-owner-ref, and --dns01-recursive-nameservers-only through Helm values. (#​5614, @​jkroepke)
  • The DigitalOcean issuer now sets a cert-manager user agent string. (#​5869, @​andrewsomething)
  • The HTTP-01 solver can now be configured to create Ingresses with an ingressClassName. The credit goes to @​dsonck92 for implementing the initial PR. (#​5849, @​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. (#​5502, @​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. (#​5962, @​wallrj)
  • Upgraded Gateway API to v0.6.0. (#​5768, @​yulng)
  • Webhook now logs requests to mutating/validating webhook (with --v=5 flag) (#​5975, @​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. (#​5887, @​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. (#​5991, @​inteon)
Documentation
Bug or Regression
  • Cmctl renew now prints an error message unless Certificate name(s) or --all are supplied (#​5896, @​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. (#​5720, @​irbekrm)
  • Fix development environment and go vendoring on Linux arm64. (#​5810, @​SgtCoDFish)
  • Fix ordering of remote git tags when preparing integration tests (#​5910, @​SgtCoDFish)
  • Helm: the flag --acme-http01-solver-image given to the variable acmesolver.extraArgs now has precedence over the variable acmesolver.image. (#​5693, @​SgtCoDFish)
  • Ingress and Gateway resources will not be synced if deleted via foreground cascading. (#​5878, @​avi-08)
  • The auto-retry mechanism added in VCert 4.23.0 and part of cert-manager 1.11.0 (#​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. (#​5805, @​inteon)
  • Upgrade to go 1.19.6 along with newer helm and containerd versions and updated base images (#​5813, @​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. (#​5972, @​vinzent)
  • When using the literalSubject field on a Certificate resource, the IPs, URIs, DNS names, and email addresses segments are now properly compared. (#​5747, @​inteon)
Other (Cleanup or Flake)
  • ACME account registration is now re-verified if account key is manually changed. (#​5949, @​TrilokGeer)
  • Add make go-workspace target for generating a go.work file for local development (#​5935, @​SgtCoDFish)
  • Added a Makefile target to build a standalone E2E test binary: make e2e-build (#​5804, @​wallrj)
  • Bump keystore-go to v4.4.1 to work around an upstream rewrite of history (#​5724, @​g-gaston)
  • Bump the distroless base images (#​5929, @​maelvls)
  • Bumps base images (#​5793, @​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. (#​5746, @​irbekrm)
  • Cainjector now only reconciles annotated objects of injectable kind. (#​5764, @​irbekrm)
  • Container images are have an OCI source label (#​5722, @​james-callahan)
  • Enable cmctl to be imported by third parties (#​6050, @​jetstack-bot)
  • The acmesolver pods created by cert-manager now have automountServiceAccountToken turned off. (#​5754, @​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. (#​5824, @​irbekrm)
  • The controller memory usage has been further decreased by ignoring annotations, labels and managed fields when caching Secret resources. (#​5966, @​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. (#​5901, @​irbekrm)
  • The memory usage of the controller has been reduced by only caching the metadata of Pods and Services. (#​5976, @​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. (#​6006, @​vidarno)
  • Updates Kubernetes libraries to v0.26.2. (#​5820, @​lucacome)
  • Updates Kubernetes libraries to v0.26.3. (#​5907, @​lucacome)
  • Updates Kubernetes libraries to v0.27.1. (#​5961, @​lucacome)
  • Updates base images (#​5832, @​irbekrm)
  • Upgrade to Go 1.20 (#​5969, @​wallrj)
  • Upgrade to go 1.19.5 (#​5712, @​yanggangtony)
  • Validates that certificate.spec.secretName is a valid Secret name (#​5967, @​avi-08)
  • We are now testing with Kubernetes v1.27.1 by default. (#​5979, @​irbekrm)
  • certificate.spec.secretName Secrets will now be labelled with controller.cert-manager.io/fao label (#​5660, @​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. (#​6000, @​SgtCoDFish)

v1.11.5

Compare Source

v1.11.5 contains an important security fix that addresses CVE-2023-29409.

Changes since v1.11.4

v1.11.4

Compare Source

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

cert-manager v1.11.4 contains some version bumps to address reported CVEs (although we don't expect that cert-manager was actually vulnerable to anything!)

Changes by Kind

Other (Cleanup or Flake)

Dependencies

Changed

v1.11.3

Compare Source

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

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. (#​6092, @​irbekrm)
  • Adds a warning for folks to not use controller feature gates helm value to configure webhook feature gates (#​6101, @​irbekrm)

v1.11.2

Compare Source

Changelog since v1.11.1
Changes by Kind
Bug or Regression
Other (Cleanup or Flake)

v1.11.1

Compare Source

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 (#​5815, @​SgtCoDFish)
  • Bump the distroless base images (#​5930, @​maelvls)
  • The auto-retry mechanism added in VCert 4.23.0 and part of cert-manager 1.11.0 (#​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. (#​5819, @​maelvls)
  • Use a fake-kube apiserver version when generating helm template in cmctl x install, to work around a hardcoded Kubernetes version in Helm. (#​5726, @​SgtCoDFish)
Other (Cleanup or Flake)

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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot changed the title Update module github.com/cert-manager/cert-manager to v1.13.0 Update module github.com/cert-manager/cert-manager to v1.13.0 - autoclosed Sep 14, 2023
@renovate renovate bot closed this Sep 14, 2023
@renovate renovate bot deleted the renovate/github.com-cert-manager-cert-manager-1.x branch September 14, 2023 08:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants