Go to file
Thomas Müller 12483d3d54 Check JKS/PKCS12 truststores only if issuer provides the CA
The current policy check for keystores in Secrets creates a loop because
the truststore.jks or truststore.p12 will never exist when the issuer didn't
provide the CA certificate. This behaviour was introduced by #5597

The JKS and PKCS12 truststores are only added to the Secret
if the CA is provided by the issuer. The CertificateRequest API
reference states:

> The PEM encoded x509 certificate of the signer, also known
> as the CA (Certificate Authority). This is set on a best-effort basis by
> different issuers. If not set, the CA is assumed to be unknown/not available.

This change will only check the PKCS12/JKS truststores if the CA cert from the
issuer exists in the secret.

Fixes #5755

Signed-off-by: Thomas Müller <thomas@chaschperli.ch>
2023-04-27 17:09:41 +02:00
.github fix: update scorecard not running 2022-10-28 14:56:18 -03:00
cmd Merge pull request #5962 from wallrj/5670-controller-manager-liveness-probe 2023-04-27 15:09:54 +01:00
deploy Check JKS/PKCS12 truststores only if issuer provides the CA 2023-04-27 17:09:41 +02:00
design design: fix dead image links 2023-04-06 11:09:19 +02:00
docs Remove docs/ directory and replace with basic README 2020-01-20 14:53:02 +00:00
gcb add a link to the full release process 2023-04-13 13:08:58 +02:00
hack Bumps kubectl 1.26 -> 1.27 2023-04-24 11:57:19 +01:00
internal Check JKS/PKCS12 truststores only if issuer provides the CA 2023-04-27 17:09:41 +02:00
logo Delete mask 2022-05-05 12:05:27 -04:00
make Ensures that _bin/scratch exists before attempting to update licenses 2023-04-26 12:37:33 +01:00
pkg Check JKS/PKCS12 truststores only if issuer provides the CA 2023-04-27 17:09:41 +02:00
test upgrade vault 2023-04-25 09:22:19 +02:00
tools remove tools/cobra script 2023-03-06 14:21:31 +00:00
.bazelignore make update-all & ensure bazel-only targets are runnable 2022-06-30 12:47:30 +01:00
.bazelrc support user.bazelrc 2022-02-11 10:41:30 +01:00
.gitignore Remove checked-in go.work, add generation 2023-04-12 11:25:47 +01:00
.krew.yaml rename all uses of github.com/jetstack/cert-manager 2022-02-02 09:08:31 +00:00
.trivyignore fix x/text vuln and ignore AWS vuln 2022-11-07 13:32:31 +00:00
CODE_OF_CONDUCT.md update old references to replaced/obsolete email addresses 2021-05-20 18:05:02 +01:00
CONTRIBUTING.md Simplify the CONTRIBUTING.md document 2022-03-10 10:57:59 +00:00
go.mod upgrade vault 2023-04-25 09:22:19 +02:00
go.sum upgrade vault 2023-04-25 09:22:19 +02:00
LICENSE add apache 2.0 license 2017-07-22 12:04:24 +01:00
LICENSES upgrade vault 2023-04-25 09:22:19 +02:00
Makefile add license preludes for a variety of files 2023-03-14 15:46:10 +00:00
OWNERS add inteon to ONWERS 2022-08-01 14:12:31 +02:00
README.md Merge pull request #5441 from joycebrum/joycebrum-add-scorecaed-github-action 2022-10-28 14:57:35 +01:00
ROADMAP.md minor language tweaks to README and ROADMAP 2022-10-20 16:50:58 +01:00
SECURITY_CONTACTS.md Adds Tim to security contacts 2023-03-09 18:18:28 +00:00
SECURITY.md update SECURITY policy to exclude vuln reports 2022-12-19 17:21:59 +00:00
USERS.md Merge pull request #5010 from DiptoChakrabarty/blog 2022-04-04 14:26:45 +01:00

cert-manager project logo

Build Status Go Report Card
Artifact Hub Scorecard score

cert-manager

cert-manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates.

It supports issuing certificates from a variety of sources, including Let's Encrypt (ACME), HashiCorp Vault, and Venafi TPP / TLS Protect Cloud, as well as local in-cluster issuance.

cert-manager also ensures certificates remain valid and up to date, attempting to renew certificates at an appropriate time before expiry to reduce the risk of outages and remove toil.

cert-manager high level overview diagram

Documentation

Documentation for cert-manager can be found at cert-manager.io.

For the common use-case of automatically issuing TLS certificates for Ingress resources, see the cert-manager nginx-ingress quick start guide.

For a more comprensive guide to issuing your first certificate, see our getting started guide.

Installation

Installation is documented on the website, with a variety of supported methods.

Troubleshooting

If you encounter any issues whilst using cert-manager, we have a number of ways to get help:

If you believe you've found a bug and cannot find an existing issue, feel free to open a new issue! Be sure to include as much information as you can about your environment.

Community

The cert-manager-dev Google Group is used for project wide announcements and development coordination. Anybody can join the group by visiting here and clicking "Join Group". A Google account is required to join the group.

Meetings

We have several public meetings which any member of our Google Group is more than welcome to join!

Check out the details on our website. Feel free to drop in and ask questions, chat with us or just to say hi!

Contributing

We welcome pull requests with open arms! There's a lot of work to do here, and we're especially concerned with ensuring the longevity and reliability of the project. The contributing guide will help you get started.

Coding Conventions

Code style guidelines are documented on the coding conventions page of the cert-manager website. Please try to follow those guidelines if you're submitting a pull request for cert-manager.

Importing cert-manager as a Module

⚠️ Please note that cert-manager does not currently provide a Go module compatibility guarantee. That means that most code under pkg/ is subject to change in a breaking way, even between minor or patch releases and even if the code is currently publicly exported.

The lack of a Go module compatibility guarantee does not affect API version guarantees under the Kubernetes Deprecation Policy.

For more details see Importing cert-manager in Go on the cert-manager website.

The import path for cert-manager versions 1.8 and later is github.com/cert-manager/cert-manager.

For all versions of cert-manager before 1.8, including minor and patch releases, the import path is github.com/jetstack/cert-manager.

Security Reporting

Security is the number one priority for cert-manager. If you think you've found a security vulnerability, we'd love to hear from you.

Follow the instructions in SECURITY.md to make a report.

Changelog

Every release on GitHub has a changelog, and we also publish release notes on the website.

History

cert-manager is loosely based upon the work of kube-lego and has borrowed some wisdom from other similar projects such as kube-cert-manager.

Logo design by Zoe Paterson