blob: 59596e78f8717b8f324fef4baf02746a52d54f0e [file] [log] [blame]
gioc895c1d2026-07-23 17:18:25 +04001{{- if or .Values.crds.enabled .Values.installCRDs }}
2apiVersion: apiextensions.k8s.io/v1
3kind: CustomResourceDefinition
4metadata:
5 name: "orders.acme.cert-manager.io"
6 {{- if .Values.crds.keep }}
7 annotations:
8 helm.sh/resource-policy: keep
9 {{- end }}
10 labels:
11 {{- include "cert-manager.crd-labels" . | nindent 4 }}
12spec:
13 group: acme.cert-manager.io
14 names:
15 categories:
16 - cert-manager
17 - cert-manager-acme
18 kind: Order
19 listKind: OrderList
20 plural: orders
21 singular: order
22 scope: Namespaced
23 versions:
24 - additionalPrinterColumns:
25 - jsonPath: .status.state
26 name: State
27 type: string
28 - jsonPath: .spec.issuerRef.name
29 name: Issuer
30 priority: 1
31 type: string
32 - jsonPath: .status.reason
33 name: Reason
34 priority: 1
35 type: string
36 - description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
37 jsonPath: .metadata.creationTimestamp
38 name: Age
39 type: date
40 name: v1
41 schema:
42 openAPIV3Schema:
43 description: Order is a type to represent an Order with an ACME server
44 properties:
45 apiVersion:
46 description: |-
47 APIVersion defines the versioned schema of this representation of an object.
48 Servers should convert recognized schemas to the latest internal value, and
49 may reject unrecognized values.
50 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
51 type: string
52 kind:
53 description: |-
54 Kind is a string value representing the REST resource this object represents.
55 Servers may infer this from the endpoint the client submits requests to.
56 Cannot be updated.
57 In CamelCase.
58 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
59 type: string
60 metadata:
61 type: object
62 spec:
63 properties:
64 commonName:
65 description: |-
66 CommonName is the common name as specified on the DER encoded CSR.
67 If specified, this value must also be present in `dnsNames` or `ipAddresses`.
68 This field must match the corresponding field on the DER encoded CSR.
69 type: string
70 dnsNames:
71 description: |-
72 DNSNames is a list of DNS names that should be included as part of the Order
73 validation process.
74 This field must match the corresponding field on the DER encoded CSR.
75 items:
76 type: string
77 type: array
78 x-kubernetes-list-type: atomic
79 duration:
80 description: |-
81 Duration is the duration for the not after date for the requested certificate.
82 this is set on order creation as pe the ACME spec.
83 type: string
84 ipAddresses:
85 description: |-
86 IPAddresses is a list of IP addresses that should be included as part of the Order
87 validation process.
88 This field must match the corresponding field on the DER encoded CSR.
89 items:
90 type: string
91 type: array
92 x-kubernetes-list-type: atomic
93 issuerRef:
94 description: |-
95 IssuerRef references a properly configured ACME-type Issuer which should
96 be used to create this Order.
97 If the Issuer does not exist, processing will be retried.
98 If the Issuer is not an 'ACME' Issuer, an error will be returned and the
99 Order will be marked as failed.
100 properties:
101 group:
102 description: |-
103 Group of the issuer being referred to.
104 Defaults to 'cert-manager.io'.
105 type: string
106 kind:
107 description: |-
108 Kind of the issuer being referred to.
109 Defaults to 'Issuer'.
110 type: string
111 name:
112 description: Name of the issuer being referred to.
113 type: string
114 required:
115 - name
116 type: object
117 profile:
118 description: |-
119 Profile allows requesting a certificate profile from the ACME server.
120 Supported profiles are listed by the server's ACME directory URL.
121 type: string
122 request:
123 description: |-
124 Certificate signing request bytes in DER encoding.
125 This will be used when finalizing the order.
126 This field must be set on the order.
127 format: byte
128 type: string
129 required:
130 - issuerRef
131 - request
132 type: object
133 status:
134 properties:
135 authorizations:
136 description: |-
137 Authorizations contains data returned from the ACME server on what
138 authorizations must be completed in order to validate the DNS names
139 specified on the Order.
140 items:
141 description: |-
142 ACMEAuthorization contains data returned from the ACME server on an
143 authorization that must be completed in order validate a DNS name on an ACME
144 Order resource.
145 properties:
146 challenges:
147 description: |-
148 Challenges specifies the challenge types offered by the ACME server.
149 One of these challenge types will be selected when validating the DNS
150 name and an appropriate Challenge resource will be created to perform
151 the ACME challenge process.
152 items:
153 description: |-
154 Challenge specifies a challenge offered by the ACME server for an Order.
155 An appropriate Challenge resource can be created to perform the ACME
156 challenge process.
157 properties:
158 token:
159 description: |-
160 Token is the token that must be presented for this challenge.
161 This is used to compute the 'key' that must also be presented.
162 type: string
163 type:
164 description: |-
165 Type is the type of challenge being offered, e.g., 'http-01', 'dns-01',
166 'tls-sni-01', etc.
167 This is the raw value retrieved from the ACME server.
168 Only 'http-01' and 'dns-01' are supported by cert-manager, other values
169 will be ignored.
170 type: string
171 url:
172 description: |-
173 URL is the URL of this challenge. It can be used to retrieve additional
174 metadata about the Challenge from the ACME server.
175 type: string
176 required:
177 - token
178 - type
179 - url
180 type: object
181 type: array
182 x-kubernetes-list-type: atomic
183 identifier:
184 description: Identifier is the DNS name to be validated as part of this authorization
185 type: string
186 initialState:
187 description: |-
188 InitialState is the initial state of the ACME authorization when first
189 fetched from the ACME server.
190 If an Authorization is already 'valid', the Order controller will not
191 create a Challenge resource for the authorization. This will occur when
192 working with an ACME server that enables 'authz reuse' (such as Let's
193 Encrypt's production endpoint).
194 If not set and 'identifier' is set, the state is assumed to be pending
195 and a Challenge will be created.
196 enum:
197 - valid
198 - ready
199 - pending
200 - processing
201 - invalid
202 - expired
203 - errored
204 type: string
205 url:
206 description: URL is the URL of the Authorization that must be completed
207 type: string
208 wildcard:
209 description: |-
210 Wildcard will be true if this authorization is for a wildcard DNS name.
211 If this is true, the identifier will be the *non-wildcard* version of
212 the DNS name.
213 For example, if '*.example.com' is the DNS name being validated, this
214 field will be 'true' and the 'identifier' field will be 'example.com'.
215 type: boolean
216 required:
217 - url
218 type: object
219 type: array
220 x-kubernetes-list-type: atomic
221 certificate:
222 description: |-
223 Certificate is a copy of the PEM encoded certificate for this Order.
224 This field will be populated after the order has been successfully
225 finalized with the ACME server, and the order has transitioned to the
226 'valid' state.
227 format: byte
228 type: string
229 failureTime:
230 description: |-
231 FailureTime stores the time that this order failed.
232 This is used to influence garbage collection and back-off.
233 format: date-time
234 type: string
235 finalizeURL:
236 description: |-
237 FinalizeURL of the Order.
238 This is used to obtain certificates for this order once it has been completed.
239 type: string
240 reason:
241 description: |-
242 Reason optionally provides more information about a why the order is in
243 the current state.
244 type: string
245 state:
246 description: |-
247 State contains the current state of this Order resource.
248 States 'success' and 'expired' are 'final'
249 enum:
250 - valid
251 - ready
252 - pending
253 - processing
254 - invalid
255 - expired
256 - errored
257 type: string
258 url:
259 description: |-
260 URL of the Order.
261 This will initially be empty when the resource is first created.
262 The Order controller will populate this field when the Order is first processed.
263 This field will be immutable after it is initially set.
264 type: string
265 type: object
266 required:
267 - metadata
268 - spec
269 type: object
270 selectableFields:
271 - jsonPath: .spec.issuerRef.group
272 - jsonPath: .spec.issuerRef.kind
273 - jsonPath: .spec.issuerRef.name
274 served: true
275 storage: true
276 subresources:
277 status: {}
278{{- end }}