| Giorgi Lekveishvili | ea328da | 2026-07-29 12:15:15 +0400 | [diff] [blame^] | 1 | {{- if or .Values.crds.enabled .Values.installCRDs }} |
| 2 | apiVersion: apiextensions.k8s.io/v1 |
| 3 | kind: CustomResourceDefinition |
| 4 | metadata: |
| 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 }} |
| 12 | spec: |
| 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 }} |