NEW: Get project updates onTwitterandMastodon

Annotations

You can generally tune Certificate requests by adding annotations to Ingress and Gateway resources.

acme.cert-manager.io/http01-edit-in-place

this controls whether the ingress is modified 'in-place', or a new one is created specifically for the HTTP01 challenge. If present, and set to "true", the existing ingress will be modified. Any other value, or the absence of the annotation assumes "false". This annotation will also add the annotation "cert-manager.io/issue-temporary-certificate": "true" onto created certificates which will cause a temporary certificate to be set on the resulting Secret until the final signed certificate has been returned. This is useful for keeping compatibility with the ingress-gce component.

acme.cert-manager.io/http01-ingress-class

this annotation allows you to configure the ingress class that will be used to solve challenges for this ingress. Customizing this is useful when you are trying to secure internal services, and need to solve challenges using a different ingress class to that of the ingress. If not specified and the acme-http01-edit-in-place annotation is not set, this defaults to the ingress class defined in the Issuer resource.

cert-manager.io/allow-direct-injection

  • Secret

allows the cainjector to inject secret CA certificate contents into other objects that have cert-manager.io/inject-ca-from-secret.

cert-manager.io/alt-names

this annotation allows you to configure spec.dnsNames field for the Certificate to be generated. Supports comma-separated values e.g. "example.com,example.org"

cert-manager.io/certificate-name

name of the related certificate.

cert-manager.io/certificate-revision

the iteration the certificate request.

cert-manager.io/cluster-issuer

the name of a cert-manager.io ClusterIssuer that should issue the required certificate.

cert-manager.io/common-name

this annotation allows you to configure spec.commonName for the Certificate to be generated.

cert-manager.io/duration

this annotation allows you to configure spec.duration field for the Certificate to be generated.

cert-manager.io/email-sans

this annotation allows you to configure spec.emailAddresses field for the Certificate to be generated. Supports comma-separated values e.g. "me@example.com,you@example.com"

cert-manager.io/ip-sans

this annotation allows you to configure spec.ipAddresses field for the Certificate to be generated. Supports comma-separated values e.g. "198.51.100.1,198.51.100.2"

cert-manager.io/issuer-group

the API group of the external issuer controller, for example awspca.cert-manager.io. This is only necessary for out-of-tree issuers.

cert-manager.io/issuer-kind

the kind of the external issuer resource, for example AWSPCAIssuer. This is only necessary for out-of-tree issuers.

cert-manager.io/issuer-name

the name of a cert-manager.io Issuer that should issue the required certificate.

cert-manager.io/issuer

the name of the issuer that should issue the required certificate.

cert-manager.io/issue-temporary-certificate

cause a temporary certificate to be set on the resulting Secret until the final signed certificate has been returned. This is useful for keeping compatibility with the ingress-gce component.

cert-manager.io/inject-apiserver-ca

cause the cainjector to inject the CA certificate for the Kubernetes apiserver into the resource.

cert-manager.io/inject-ca-from

cause the cainjector to inject a certificate with CA certificate. ??

cert-manager.io/inject-ca-from-secret

cause the cainjector to inject a CA Certificate from a secret.

cert-manager.io/private-key-algorithm

this annotation allows you to configure spec.privateKey.algorithm field to set the algorithm for private key generation for a Certificate. Valid values are RSA, ECDSA and Ed25519. If unset an algorithm RSA will be used.

cert-manager.io/private-key-encoding

this annotation allows you to configure spec.privateKey.encoding field to set the encoding for private key generation for a Certificate. Valid values are PKCS1 and PKCS8. If unset an algorithm PKCS1 will be used.

cert-manager.io/private-key-rotation-policy

this annotation allows you to configure spec.privateKey.rotationPolicy field to set the rotation policy of the private key for a Certificate. Valid values are Never and Always. If unset a rotation policy Never will be used.

cert-manager.io/private-key-secret-name

references the secret that stores the private key used to sign a x509 certificate signing request.

cert-manager.io/private-key-size

this annotation allows you to configure spec.privateKey.size field to set the size of the private key for a Certificate. If algorithm is set to RSA, valid values are 2048, 4096 or 8192, and will default to 2048 if not specified. If algorithm is set to ECDSA, valid values are 256, 384 or 521, and will default to 256 if not specified. If algorithm is set to Ed25519, size is ignored.

cert-manager.io/renew-before

this annotation allows you to configure spec.renewBefore field for the Certificate to be generated.

cert-manager.io/renew-before-percentage

this annotation allows you to configure spec.renewBeforePercentage field for the Certificate to be generated.

cert-manager.io/revision-history-limit

this annotation allows you to configure spec.revisionHistoryLimit field to limit the number of CertificateRequests to be kept for a Certificate. Minimum value is 1. If unset all CertificateRequests will be kept.

cert-manager.io/secret-template

this annotation allows you to set the secretTemplate field in the generated Certificate.

cert-manager.io/subject-countries

this annotation allows you to configure spec.subject.countries field for the Certificate to be generated. Supports comma-separated values e.g. "Country 1,Country 2"

cert-manager.io/subject-localities

this annotation allows you to configure spec.subject.localities field for the Certificate to be generated. Supports comma-separated values e.g. "City 1,City 2"

cert-manager.io/subject-organizationalunits

this annotation allows you to configure spec.subject.organizationalUnits field for the Certificate to be generated. Supports comma-separated values e.g. "IT Services,Cloud Services"

cert-manager.io/subject-organizations

this annotation allows you to configure spec.subject.organizations field for the Certificate to be generated. Supports comma-separated values e.g. "Company 1,Company 2"

cert-manager.io/subject-postalcodes

this annotation allows you to configure spec.subject.postalCodes field for the Certificate to be generated. Supports comma-separated values e.g. "123ABC,456DEF"

cert-manager.io/subject-provinces

this annotation allows you to configure spec.subject.provinces field for the Certificate to be generated. Supports comma-separated values e.g. "Province 1,Province 2"

cert-manager.io/subject-serialnumber

this annotation allows you to configure spec.subject.serialNumber field for the Certificate to be generated. Supports comma-separated values e.g. "10978342379280287615,1111144445555522228888"

cert-manager.io/subject-streetaddresses

this annotation allows you to configure spec.subject.streetAddresses field for the Certificate to be generated. Supports comma-separated values e.g. "123 Example St,456 Other Blvd"

cert-manager.io/uri-sans

this annotation allows you to configure spec.uris field for the Certificate to be generated. Supports comma-separated values e.g. "spiffe://cluster.local/ns/sandbox/sa/example"

cert-manager.io/usages

this annotation allows you to configure spec.usages field for the Certificate to be generated. Pass a string with comma-separated values i.e. "key agreement,digital signature, server auth".

experimental.cert-manager.io/request-duration

annotation used to request a particular duration.

experimental.cert-manager.io/request-is-ca

annotation used to request a certificate be marked as CA.

experimental.cert-manager.io/private-key-secret-name

annotation key used by the 'self signing' issuer type to self-sign certificates to reference a Secret resource containing the private key used to sign the request.

kubernetes.io/ingress.class

deprecated. You should use spec.ingressClassName instead.

kubernetes.io/tls-acme

this annotation requires additional configuration of the ingress-shim. Namely, a default Issuer must be specified as arguments to the ingress-shim container.

venafi.cert-manager.io/custom-fields

pass JSON encoded custom fields to the Venafi issuer.

venafi.cert-manager.io/pickup-id

records the Venafi Pickup ID of a certificate signing request.