Skip to content

Commit d694058

Browse files
Merge pull request #1696 from jsoref/annotations
Create redirects for cert-manager annotations
2 parents 3b10222 + 994b6d0 commit d694058

File tree

33 files changed

+474
-54
lines changed

33 files changed

+474
-54
lines changed

.spelling

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -836,3 +836,28 @@ READMEs
836836
K3d
837837
CyberArk
838838
90-minute
839+
840+
# Annotations
841+
acme.cert
842+
cluster.local
843+
controller.cert
844+
example.com
845+
example.org
846+
experimental.cert
847+
http01-edit-in-place
848+
http01-ingress-class
849+
ingress.class
850+
ip-sans
851+
kubernetes.io
852+
manager.io
853+
ns
854+
sa
855+
spiffe
856+
subject-organizationalunits
857+
subject-postalcodes
858+
subject-serialnumber
859+
subject-streetaddresses
860+
tls-acme
861+
uri-sans
862+
venafi.cert
863+
x509

content/docs/manifest.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,6 +869,11 @@
869869
"path": "/docs/reference/api-docs.md"
870870
},
871871

872+
{
873+
"title": "Annotations",
874+
"path": "/docs/reference/annotations.md"
875+
},
876+
872877
{
873878
"title": "Concepts",
874879
"routes": [
Lines changed: 334 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,334 @@
1+
---
2+
title: Annotations
3+
description: 'cert-manager configuration: Annotations'
4+
# This list corresponds to items in public/_redirects `# Document cert-manager.io annotations`
5+
# Items come from https://github.com/search?q=repo%3Acert-manager%2Fcert-manager%20%22AnnotationKey%20%3D%20%22&type=code
6+
# Please keep these sections synced date
7+
---
8+
9+
You can generally tune [Certificate](../usage/certificate.md) requests by adding annotations to
10+
[Ingress](../usage/ingress.md) and [Gateway](../usage/gateway.md) resources.
11+
12+
## acme.cert-manager.io/http01-edit-in-place
13+
- [Ingress](../usage/ingress.md)
14+
15+
this controls whether the ingress is modified 'in-place', or a new one is created
16+
specifically for the HTTP01 challenge. If present, and set to `"true"`, the existing
17+
ingress will be modified. Any other value, or the absence of the annotation assumes
18+
`"false"`.
19+
This annotation will also add the annotation
20+
`"cert-manager.io/issue-temporary-certificate": "true"` onto created certificates
21+
which will cause a
22+
[temporary certificate](../usage/certificate.md#temporary-certificates-whilst-issuing)
23+
to be set on the resulting `Secret` until the final signed certificate has been
24+
returned.
25+
This is useful for keeping compatibility with the `ingress-gce` component.
26+
27+
## acme.cert-manager.io/http01-ingress-class
28+
- [Ingress](../usage/ingress.md)
29+
30+
this annotation allows you to configure the ingress class that will be used to
31+
solve challenges for this ingress. Customizing this is useful when you are
32+
trying to secure internal services, and need to solve challenges using a
33+
different ingress class to that of the ingress. If not specified and the
34+
`acme-http01-edit-in-place` annotation is not set, this defaults to the ingress
35+
class defined in the Issuer resource.
36+
37+
## cert-manager.io/allow-direct-injection
38+
- `Secret`
39+
40+
allows the `cainjector` to inject secret `CA certificate` contents into other objects that have `cert-manager.io/inject-ca-from-secret`.
41+
42+
## cert-manager.io/alt-names
43+
- [Certificate](../usage/certificate.md)
44+
45+
this annotation allows you to configure `spec.dnsNames` field for
46+
the Certificate to be generated.
47+
Supports comma-separated values e.g. "example.com,example.org"
48+
49+
## cert-manager.io/certificate-name
50+
- [CertificateRequest](../usage/certificaterequest.md)
51+
52+
name of the related certificate.
53+
54+
## cert-manager.io/certificate-revision
55+
- [CertificateRequest](../usage/certificaterequest.md)
56+
57+
the iteration the certificate request.
58+
59+
## cert-manager.io/cluster-issuer
60+
- [Ingress](../usage/ingress.md)
61+
- [Gateway](../usage/gateway.md)
62+
63+
the name of a cert-manager.io ClusterIssuer that should issue the required certificate.
64+
65+
## cert-manager.io/common-name
66+
- [Ingress](../usage/ingress.md)
67+
- [Gateway](../usage/gateway.md)
68+
69+
this annotation allows you to configure `spec.commonName` for the Certificate
70+
to be generated.
71+
72+
## cert-manager.io/duration
73+
- [Ingress](../usage/ingress.md)
74+
- [Gateway](../usage/gateway.md)
75+
76+
this annotation allows you to configure `spec.duration` field for the
77+
Certificate to be generated.
78+
79+
## cert-manager.io/email-sans
80+
- [Ingress](../usage/ingress.md)
81+
- [Gateway](../usage/gateway.md)
82+
83+
this annotation allows you to configure `spec.emailAddresses` field for
84+
the Certificate to be generated.
85+
Supports comma-separated values e.g. "[email protected],[email protected]"
86+
87+
## cert-manager.io/ip-sans
88+
- [Ingress](../usage/ingress.md)
89+
- [Gateway](../usage/gateway.md)
90+
91+
this annotation allows you to configure `spec.ipAddresses` field for
92+
the Certificate to be generated.
93+
Supports comma-separated values e.g. "198.51.100.1,198.51.100.2"
94+
95+
## cert-manager.io/issuer-group
96+
- [Ingress](../usage/ingress.md)
97+
- [Gateway](../usage/gateway.md)
98+
99+
the API group of the external issuer controller, for example
100+
`awspca.cert-manager.io`. This is only necessary for out-of-tree issuers.
101+
102+
## cert-manager.io/issuer-kind
103+
- [Ingress](../usage/ingress.md)
104+
- [Gateway](../usage/gateway.md)
105+
106+
the kind of the external issuer resource, for example `AWSPCAIssuer`. This
107+
is only necessary for out-of-tree issuers.
108+
109+
## cert-manager.io/issuer-name
110+
- [Ingress](../usage/ingress.md)
111+
- [Gateway](../usage/gateway.md)
112+
113+
the name of a cert-manager.io Issuer that should issue the required certificate.
114+
115+
## cert-manager.io/issuer
116+
- [Ingress](../usage/ingress.md)
117+
- [Gateway](../usage/gateway.md)
118+
119+
the name of the issuer that should issue the required certificate.
120+
121+
## cert-manager.io/issue-temporary-certificate
122+
- [Certificate](../usage/certificate.md)
123+
124+
cause a [temporary
125+
certificate](../usage/certificate.md#temporary-certificates-whilst-issuing) to
126+
be set on the resulting `Secret` until the final signed certificate has been
127+
returned.
128+
This is useful for keeping compatibility with the `ingress-gce` component.
129+
130+
## cert-manager.io/inject-apiserver-ca
131+
132+
cause the `cainjector` to inject the **CA certificate** for the Kubernetes apiserver into the resource.
133+
134+
## cert-manager.io/inject-ca-from
135+
136+
cause the `cainjector` to inject a certificate with **CA certificate**. ??
137+
138+
## cert-manager.io/inject-ca-from-secret
139+
140+
cause the `cainjector` to inject a **CA Certificate** from a secret.
141+
142+
## cert-manager.io/private-key-algorithm
143+
- [Ingress](../usage/ingress.md)
144+
- [Gateway](../usage/gateway.md)
145+
146+
this annotation allows you to configure `spec.privateKey.algorithm` field to set
147+
the algorithm for private key generation for a Certificate.
148+
Valid values are `RSA`, `ECDSA` and `Ed25519`.
149+
If unset an algorithm `RSA` will be used.
150+
151+
## cert-manager.io/private-key-encoding
152+
- [Ingress](../usage/ingress.md)
153+
- [Gateway](../usage/gateway.md)
154+
155+
this annotation allows you to configure `spec.privateKey.encoding` field to set
156+
the encoding for private key generation for a Certificate.
157+
Valid values are `PKCS1` and `PKCS8`. If unset an algorithm `PKCS1` will be used.
158+
159+
## cert-manager.io/private-key-rotation-policy
160+
- [Ingress](../usage/ingress.md)
161+
- [Gateway](../usage/gateway.md)
162+
163+
this annotation allows you to configure `spec.privateKey.rotationPolicy` field
164+
to set the rotation policy of the private key for a Certificate.
165+
Valid values are `Never` and `Always`. If unset a rotation policy `Never` will
166+
be used.
167+
168+
## cert-manager.io/private-key-secret-name
169+
- [CertificateRequest](../usage/certificaterequest.md)
170+
171+
references the secret that stores the private key used to sign a x509
172+
certificate signing request.
173+
174+
## cert-manager.io/private-key-size
175+
- [Ingress](../usage/ingress.md)
176+
- [Gateway](../usage/gateway.md)
177+
178+
this annotation allows you to configure `spec.privateKey.size` field to set the
179+
size of the private key for a Certificate.
180+
If algorithm is set to `RSA`, valid values are `2048`, `4096` or `8192`, and
181+
will default to `2048` if not specified.
182+
If algorithm is set to `ECDSA`, valid values are `256`, `384` or `521`, and
183+
will default to `256` if not specified.
184+
If algorithm is set to `Ed25519`, size is ignored.
185+
186+
## cert-manager.io/renew-before
187+
- [Ingress](../usage/ingress.md)
188+
- [Gateway](../usage/gateway.md)
189+
190+
this annotation allows you to configure `spec.renewBefore` field for the
191+
Certificate to be generated.
192+
193+
## cert-manager.io/renew-before-percentage
194+
- [Ingress](../usage/ingress.md)
195+
- [Gateway](../usage/gateway.md)
196+
197+
this annotation allows you to configure `spec.renewBeforePercentage` field for the
198+
Certificate to be generated.
199+
200+
## cert-manager.io/revision-history-limit
201+
- [Ingress](../usage/ingress.md)
202+
- [Gateway](../usage/gateway.md)
203+
204+
this annotation allows you to configure `spec.revisionHistoryLimit` field to
205+
limit the number of CertificateRequests to be kept for a Certificate.
206+
Minimum value is 1. If unset all CertificateRequests will be kept.
207+
208+
## cert-manager.io/secret-template
209+
- [Ingress](../usage/ingress.md)
210+
- [Gateway](../usage/gateway.md)
211+
212+
this annotation allows you to set the secretTemplate field in the generated Certificate.
213+
214+
## cert-manager.io/subject-countries
215+
- [Ingress](../usage/ingress.md)
216+
- [Gateway](../usage/gateway.md)
217+
218+
this annotation allows you to configure `spec.subject.countries` field for the
219+
Certificate to be generated.
220+
Supports comma-separated values e.g. "Country 1,Country 2"
221+
222+
## cert-manager.io/subject-localities
223+
- [Ingress](../usage/ingress.md)
224+
- [Gateway](../usage/gateway.md)
225+
226+
this annotation allows you to configure `spec.subject.localities` field for the
227+
Certificate to be generated.
228+
Supports comma-separated values e.g. "City 1,City 2"
229+
230+
## cert-manager.io/subject-organizationalunits
231+
- [Ingress](../usage/ingress.md)
232+
- [Gateway](../usage/gateway.md)
233+
234+
this annotation allows you to configure `spec.subject.organizationalUnits` field
235+
for the Certificate to be generated.
236+
Supports comma-separated values e.g. "IT Services,Cloud Services"
237+
238+
## cert-manager.io/subject-organizations
239+
- [Ingress](../usage/ingress.md)
240+
- [Gateway](../usage/gateway.md)
241+
242+
this annotation allows you to configure `spec.subject.organizations` field for
243+
the Certificate to be generated.
244+
Supports comma-separated values e.g. "Company 1,Company 2"
245+
246+
## cert-manager.io/subject-postalcodes
247+
- [Ingress](../usage/ingress.md)
248+
- [Gateway](../usage/gateway.md)
249+
250+
this annotation allows you to configure `spec.subject.postalCodes` field for
251+
the Certificate to be generated.
252+
Supports comma-separated values e.g. "123ABC,456DEF"
253+
254+
## cert-manager.io/subject-provinces
255+
- [Ingress](../usage/ingress.md)
256+
- [Gateway](../usage/gateway.md)
257+
258+
this annotation allows you to
259+
configure `spec.subject.provinces` field for the Certificate to be generated.
260+
Supports comma-separated values e.g. "Province 1,Province 2"
261+
262+
## cert-manager.io/subject-serialnumber
263+
- [Ingress](../usage/ingress.md)
264+
- [Gateway](../usage/gateway.md)
265+
266+
this annotation allows you to
267+
configure `spec.subject.serialNumber` field for the Certificate to be
268+
generated.
269+
Supports comma-separated values e.g. "10978342379280287615,1111144445555522228888"
270+
271+
## cert-manager.io/subject-streetaddresses
272+
- [Ingress](../usage/ingress.md)
273+
- [Gateway](../usage/gateway.md)
274+
275+
this annotation allows you to
276+
configure `spec.subject.streetAddresses` field for the Certificate to be
277+
generated.
278+
Supports comma-separated values e.g. "123 Example St,456 Other Blvd"
279+
280+
## cert-manager.io/uri-sans
281+
- [Ingress](../usage/ingress.md)
282+
- [Gateway](../usage/gateway.md)
283+
284+
this annotation allows you to configure `spec.uris` field for
285+
the Certificate to be generated.
286+
Supports comma-separated values e.g. "spiffe://cluster.local/ns/sandbox/sa/example"
287+
288+
## cert-manager.io/usages
289+
- [Ingress](../usage/ingress.md)
290+
- [Gateway](../usage/gateway.md)
291+
292+
this annotation allows you to configure `spec.usages` field for the Certificate
293+
to be generated. Pass a string with comma-separated values i.e.
294+
"key agreement,digital signature, server auth".
295+
296+
## experimental.cert-manager.io/request-duration
297+
- [CertificateRequest](../usage/certificaterequest.md)
298+
299+
annotation used to request a particular duration.
300+
301+
## experimental.cert-manager.io/request-is-ca
302+
- [CertificateRequest](../usage/certificaterequest.md)
303+
304+
annotation used to request a certificate be marked as CA.
305+
306+
## experimental.cert-manager.io/private-key-secret-name
307+
- [CertificateRequest](../usage/certificaterequest.md)
308+
309+
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.
310+
311+
## kubernetes.io/ingress.class
312+
- [Ingress](../usage/ingress.md)
313+
314+
[deprecated](https://kubernetes.io/docs/concepts/services-networking/ingress/#deprecated-annotation). You should use `spec`.`ingressClassName` instead.
315+
316+
## kubernetes.io/tls-acme
317+
- [Ingress](../usage/ingress.md)
318+
319+
this annotation requires additional configuration of the
320+
[ingress-shim](../usage/ingress.md#optional-configuration).
321+
Namely, a default `Issuer` must be specified as arguments to the ingress-shim
322+
container.
323+
324+
## venafi.cert-manager.io/custom-fields
325+
- [Certificate](../usage/certificate.md)
326+
- [Ingress](../usage/ingress.md)
327+
- [Gateway](../usage/gateway.md)
328+
329+
pass JSON encoded custom fields to the Venafi issuer.
330+
331+
## venafi.cert-manager.io/pickup-id
332+
- [CertificateRequest](../usage/certificaterequest.md)
333+
334+
records the Venafi Pickup ID of a certificate signing request.

content/docs/releases/release-notes/release-notes-0.11.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ the temporary.
204204

205205
In this release, no temporary certificates will be created unless explicitly
206206
requested. This can be done using the annotation
207-
`"cert-manager.io/issue-temporary-certificate": "true` on `Certifcate`
207+
`"cert-manager.io/issue-temporary-certificate": "true` on `Certificate`
208208
resources.
209209

210210
We've additionally changed the behavior of ingress-shim to now add this new

0 commit comments

Comments
 (0)