...

Text file src/edge-infra.dev/third_party/k8s/certmanager/manifests.yaml

Documentation: edge-infra.dev/third_party/k8s/certmanager

     1# Copyright 2022 The cert-manager Authors.
     2#
     3# Licensed under the Apache License, Version 2.0 (the "License");
     4# you may not use this file except in compliance with the License.
     5# You may obtain a copy of the License at
     6#
     7#     http://www.apache.org/licenses/LICENSE-2.0
     8#
     9# Unless required by applicable law or agreed to in writing, software
    10# distributed under the License is distributed on an "AS IS" BASIS,
    11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12# See the License for the specific language governing permissions and
    13# limitations under the License.
    14
    15apiVersion: v1
    16kind: Namespace
    17metadata:
    18  name: cert-manager
    19---
    20# Source: cert-manager/templates/crds.yaml
    21apiVersion: apiextensions.k8s.io/v1
    22kind: CustomResourceDefinition
    23metadata:
    24  name: certificaterequests.cert-manager.io
    25  labels:
    26    app: 'cert-manager'
    27    app.kubernetes.io/name: 'cert-manager'
    28    app.kubernetes.io/instance: 'cert-manager'
    29    # Generated labels
    30    app.kubernetes.io/version: "v1.12.12"
    31spec:
    32  group: cert-manager.io
    33  names:
    34    kind: CertificateRequest
    35    listKind: CertificateRequestList
    36    plural: certificaterequests
    37    shortNames:
    38      - cr
    39      - crs
    40    singular: certificaterequest
    41    categories:
    42      - cert-manager
    43  scope: Namespaced
    44  versions:
    45    - name: v1
    46      subresources:
    47        status: {}
    48      additionalPrinterColumns:
    49        - jsonPath: .status.conditions[?(@.type=="Approved")].status
    50          name: Approved
    51          type: string
    52        - jsonPath: .status.conditions[?(@.type=="Denied")].status
    53          name: Denied
    54          type: string
    55        - jsonPath: .status.conditions[?(@.type=="Ready")].status
    56          name: Ready
    57          type: string
    58        - jsonPath: .spec.issuerRef.name
    59          name: Issuer
    60          type: string
    61        - jsonPath: .spec.username
    62          name: Requestor
    63          type: string
    64        - jsonPath: .status.conditions[?(@.type=="Ready")].message
    65          name: Status
    66          priority: 1
    67          type: string
    68        - jsonPath: .metadata.creationTimestamp
    69          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.
    70          name: Age
    71          type: date
    72      schema:
    73        openAPIV3Schema:
    74          description: "A CertificateRequest is used to request a signed certificate from one of the configured issuers. \n All fields within the CertificateRequest's `spec` are immutable after creation. A CertificateRequest will either succeed or fail, as denoted by its `status.state` field. \n A CertificateRequest is a one-shot resource, meaning it represents a single point in time request for a certificate and cannot be re-used."
    75          type: object
    76          required:
    77            - spec
    78          properties:
    79            apiVersion:
    80              description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    81              type: string
    82            kind:
    83              description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    84              type: string
    85            metadata:
    86              type: object
    87            spec:
    88              description: Desired state of the CertificateRequest resource.
    89              type: object
    90              required:
    91                - issuerRef
    92                - request
    93              properties:
    94                duration:
    95                  description: The requested 'duration' (i.e. lifetime) of the Certificate. This option may be ignored/overridden by some issuer types.
    96                  type: string
    97                extra:
    98                  description: Extra contains extra attributes of the user that created the CertificateRequest. Populated by the cert-manager webhook on creation and immutable.
    99                  type: object
   100                  additionalProperties:
   101                    type: array
   102                    items:
   103                      type: string
   104                groups:
   105                  description: Groups contains group membership of the user that created the CertificateRequest. Populated by the cert-manager webhook on creation and immutable.
   106                  type: array
   107                  items:
   108                    type: string
   109                  x-kubernetes-list-type: atomic
   110                isCA:
   111                  description: IsCA will request to mark the certificate as valid for certificate signing when submitting to the issuer. This will automatically add the `cert sign` usage to the list of `usages`.
   112                  type: boolean
   113                issuerRef:
   114                  description: IssuerRef is a reference to the issuer for this CertificateRequest.  If the `kind` field is not set, or set to `Issuer`, an Issuer resource with the given name in the same namespace as the CertificateRequest will be used.  If the `kind` field is set to `ClusterIssuer`, a ClusterIssuer with the provided name will be used. The `name` field in this stanza is required at all times. The group field refers to the API group of the issuer which defaults to `cert-manager.io` if empty.
   115                  type: object
   116                  required:
   117                    - name
   118                  properties:
   119                    group:
   120                      description: Group of the resource being referred to.
   121                      type: string
   122                    kind:
   123                      description: Kind of the resource being referred to.
   124                      type: string
   125                    name:
   126                      description: Name of the resource being referred to.
   127                      type: string
   128                request:
   129                  description: The PEM-encoded x509 certificate signing request to be submitted to the CA for signing.
   130                  type: string
   131                  format: byte
   132                uid:
   133                  description: UID contains the uid of the user that created the CertificateRequest. Populated by the cert-manager webhook on creation and immutable.
   134                  type: string
   135                usages:
   136                  description: Usages is the set of x509 usages that are requested for the certificate. If usages are set they SHOULD be encoded inside the CSR spec Defaults to `digital signature` and `key encipherment` if not specified.
   137                  type: array
   138                  items:
   139                    description: "KeyUsage specifies valid usage contexts for keys. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12 \n Valid KeyUsage values are as follows: \"signing\", \"digital signature\", \"content commitment\", \"key encipherment\", \"key agreement\", \"data encipherment\", \"cert sign\", \"crl sign\", \"encipher only\", \"decipher only\", \"any\", \"server auth\", \"client auth\", \"code signing\", \"email protection\", \"s/mime\", \"ipsec end system\", \"ipsec tunnel\", \"ipsec user\", \"timestamping\", \"ocsp signing\", \"microsoft sgc\", \"netscape sgc\""
   140                    type: string
   141                    enum:
   142                      - signing
   143                      - digital signature
   144                      - content commitment
   145                      - key encipherment
   146                      - key agreement
   147                      - data encipherment
   148                      - cert sign
   149                      - crl sign
   150                      - encipher only
   151                      - decipher only
   152                      - any
   153                      - server auth
   154                      - client auth
   155                      - code signing
   156                      - email protection
   157                      - s/mime
   158                      - ipsec end system
   159                      - ipsec tunnel
   160                      - ipsec user
   161                      - timestamping
   162                      - ocsp signing
   163                      - microsoft sgc
   164                      - netscape sgc
   165                username:
   166                  description: Username contains the name of the user that created the CertificateRequest. Populated by the cert-manager webhook on creation and immutable.
   167                  type: string
   168            status:
   169              description: Status of the CertificateRequest. This is set and managed automatically.
   170              type: object
   171              properties:
   172                ca:
   173                  description: 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.
   174                  type: string
   175                  format: byte
   176                certificate:
   177                  description: The PEM encoded x509 certificate resulting from the certificate signing request. If not set, the CertificateRequest has either not been completed or has failed. More information on failure can be found by checking the `conditions` field.
   178                  type: string
   179                  format: byte
   180                conditions:
   181                  description: List of status conditions to indicate the status of a CertificateRequest. Known condition types are `Ready` and `InvalidRequest`.
   182                  type: array
   183                  items:
   184                    description: CertificateRequestCondition contains condition information for a CertificateRequest.
   185                    type: object
   186                    required:
   187                      - status
   188                      - type
   189                    properties:
   190                      lastTransitionTime:
   191                        description: LastTransitionTime is the timestamp corresponding to the last status change of this condition.
   192                        type: string
   193                        format: date-time
   194                      message:
   195                        description: Message is a human readable description of the details of the last transition, complementing reason.
   196                        type: string
   197                      reason:
   198                        description: Reason is a brief machine readable explanation for the condition's last transition.
   199                        type: string
   200                      status:
   201                        description: Status of the condition, one of (`True`, `False`, `Unknown`).
   202                        type: string
   203                        enum:
   204                          - "True"
   205                          - "False"
   206                          - Unknown
   207                      type:
   208                        description: Type of the condition, known values are (`Ready`, `InvalidRequest`, `Approved`, `Denied`).
   209                        type: string
   210                  x-kubernetes-list-map-keys:
   211                    - type
   212                  x-kubernetes-list-type: map
   213                failureTime:
   214                  description: FailureTime stores the time that this CertificateRequest failed. This is used to influence garbage collection and back-off.
   215                  type: string
   216                  format: date-time
   217      served: true
   218      storage: true
   219---
   220# Source: cert-manager/templates/crds.yaml
   221apiVersion: apiextensions.k8s.io/v1
   222kind: CustomResourceDefinition
   223metadata:
   224  name: certificates.cert-manager.io
   225  labels:
   226    app: 'cert-manager'
   227    app.kubernetes.io/name: 'cert-manager'
   228    app.kubernetes.io/instance: 'cert-manager'
   229    # Generated labels
   230    app.kubernetes.io/version: "v1.12.12"
   231spec:
   232  group: cert-manager.io
   233  names:
   234    kind: Certificate
   235    listKind: CertificateList
   236    plural: certificates
   237    shortNames:
   238      - cert
   239      - certs
   240    singular: certificate
   241    categories:
   242      - cert-manager
   243  scope: Namespaced
   244  versions:
   245    - name: v1
   246      subresources:
   247        status: {}
   248      additionalPrinterColumns:
   249        - jsonPath: .status.conditions[?(@.type=="Ready")].status
   250          name: Ready
   251          type: string
   252        - jsonPath: .spec.secretName
   253          name: Secret
   254          type: string
   255        - jsonPath: .spec.issuerRef.name
   256          name: Issuer
   257          priority: 1
   258          type: string
   259        - jsonPath: .status.conditions[?(@.type=="Ready")].message
   260          name: Status
   261          priority: 1
   262          type: string
   263        - jsonPath: .metadata.creationTimestamp
   264          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.
   265          name: Age
   266          type: date
   267      schema:
   268        openAPIV3Schema:
   269          description: "A Certificate resource should be created to ensure an up to date and signed x509 certificate is stored in the Kubernetes Secret resource named in `spec.secretName`. \n The stored certificate will be renewed before it expires (as configured by `spec.renewBefore`)."
   270          type: object
   271          required:
   272            - spec
   273          properties:
   274            apiVersion:
   275              description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   276              type: string
   277            kind:
   278              description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   279              type: string
   280            metadata:
   281              type: object
   282            spec:
   283              description: Desired state of the Certificate resource.
   284              type: object
   285              required:
   286                - issuerRef
   287                - secretName
   288              properties:
   289                additionalOutputFormats:
   290                  description: AdditionalOutputFormats defines extra output formats of the private key and signed certificate chain to be written to this Certificate's target Secret. This is an Alpha Feature and is only enabled with the `--feature-gates=AdditionalCertificateOutputFormats=true` option on both the controller and webhook components.
   291                  type: array
   292                  items:
   293                    description: CertificateAdditionalOutputFormat defines an additional output format of a Certificate resource. These contain supplementary data formats of the signed certificate chain and paired private key.
   294                    type: object
   295                    required:
   296                      - type
   297                    properties:
   298                      type:
   299                        description: Type is the name of the format type that should be written to the Certificate's target Secret.
   300                        type: string
   301                        enum:
   302                          - DER
   303                          - CombinedPEM
   304                commonName:
   305                  description: 'CommonName is a common name to be used on the Certificate. The CommonName should have a length of 64 characters or fewer to avoid generating invalid CSRs. This value is ignored by TLS clients when any subject alt name is set. This is x509 behaviour: https://tools.ietf.org/html/rfc6125#section-6.4.4'
   306                  type: string
   307                dnsNames:
   308                  description: DNSNames is a list of DNS subjectAltNames to be set on the Certificate.
   309                  type: array
   310                  items:
   311                    type: string
   312                duration:
   313                  description: The requested 'duration' (i.e. lifetime) of the Certificate. This option may be ignored/overridden by some issuer types. If unset this defaults to 90 days. Certificate will be renewed either 2/3 through its duration or `renewBefore` period before its expiry, whichever is later. Minimum accepted duration is 1 hour. Value must be in units accepted by Go time.ParseDuration https://golang.org/pkg/time/#ParseDuration
   314                  type: string
   315                emailAddresses:
   316                  description: EmailAddresses is a list of email subjectAltNames to be set on the Certificate.
   317                  type: array
   318                  items:
   319                    type: string
   320                encodeUsagesInRequest:
   321                  description: EncodeUsagesInRequest controls whether key usages should be present in the CertificateRequest
   322                  type: boolean
   323                ipAddresses:
   324                  description: IPAddresses is a list of IP address subjectAltNames to be set on the Certificate.
   325                  type: array
   326                  items:
   327                    type: string
   328                isCA:
   329                  description: IsCA will mark this Certificate as valid for certificate signing. This will automatically add the `cert sign` usage to the list of `usages`.
   330                  type: boolean
   331                issuerRef:
   332                  description: IssuerRef is a reference to the issuer for this certificate. If the `kind` field is not set, or set to `Issuer`, an Issuer resource with the given name in the same namespace as the Certificate will be used. If the `kind` field is set to `ClusterIssuer`, a ClusterIssuer with the provided name will be used. The `name` field in this stanza is required at all times.
   333                  type: object
   334                  required:
   335                    - name
   336                  properties:
   337                    group:
   338                      description: Group of the resource being referred to.
   339                      type: string
   340                    kind:
   341                      description: Kind of the resource being referred to.
   342                      type: string
   343                    name:
   344                      description: Name of the resource being referred to.
   345                      type: string
   346                keystores:
   347                  description: Keystores configures additional keystore output formats stored in the `secretName` Secret resource.
   348                  type: object
   349                  properties:
   350                    jks:
   351                      description: JKS configures options for storing a JKS keystore in the `spec.secretName` Secret resource.
   352                      type: object
   353                      required:
   354                        - create
   355                        - passwordSecretRef
   356                      properties:
   357                        create:
   358                          description: Create enables JKS keystore creation for the Certificate. If true, a file named `keystore.jks` will be created in the target Secret resource, encrypted using the password stored in `passwordSecretRef`. The keystore file will be updated immediately. If the issuer provided a CA certificate, a file named `truststore.jks` will also be created in the target Secret resource, encrypted using the password stored in `passwordSecretRef` containing the issuing Certificate Authority
   359                          type: boolean
   360                        passwordSecretRef:
   361                          description: PasswordSecretRef is a reference to a key in a Secret resource containing the password used to encrypt the JKS keystore.
   362                          type: object
   363                          required:
   364                            - name
   365                          properties:
   366                            key:
   367                              description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   368                              type: string
   369                            name:
   370                              description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   371                              type: string
   372                    pkcs12:
   373                      description: PKCS12 configures options for storing a PKCS12 keystore in the `spec.secretName` Secret resource.
   374                      type: object
   375                      required:
   376                        - create
   377                        - passwordSecretRef
   378                      properties:
   379                        create:
   380                          description: Create enables PKCS12 keystore creation for the Certificate. If true, a file named `keystore.p12` will be created in the target Secret resource, encrypted using the password stored in `passwordSecretRef`. The keystore file will be updated immediately. If the issuer provided a CA certificate, a file named `truststore.p12` will also be created in the target Secret resource, encrypted using the password stored in `passwordSecretRef` containing the issuing Certificate Authority
   381                          type: boolean
   382                        passwordSecretRef:
   383                          description: PasswordSecretRef is a reference to a key in a Secret resource containing the password used to encrypt the PKCS12 keystore.
   384                          type: object
   385                          required:
   386                            - name
   387                          properties:
   388                            key:
   389                              description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   390                              type: string
   391                            name:
   392                              description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   393                              type: string
   394                literalSubject:
   395                  description: LiteralSubject is an LDAP formatted string that represents the [X.509 Subject field](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6). Use this *instead* of the Subject field if you need to ensure the correct ordering of the RDN sequence, such as when issuing certs for LDAP authentication. See https://github.com/cert-manager/cert-manager/issues/3203, https://github.com/cert-manager/cert-manager/issues/4424. This field is alpha level and is only supported by cert-manager installations where LiteralCertificateSubject feature gate is enabled on both cert-manager controller and webhook.
   396                  type: string
   397                privateKey:
   398                  description: Options to control private keys used for the Certificate.
   399                  type: object
   400                  properties:
   401                    algorithm:
   402                      description: Algorithm is the private key algorithm of the corresponding private key for this certificate. If provided, allowed values are either `RSA`,`Ed25519` or `ECDSA` If `algorithm` is specified and `size` is not provided, key size of 256 will be used for `ECDSA` key algorithm and key size of 2048 will be used for `RSA` key algorithm. key size is ignored when using the `Ed25519` key algorithm.
   403                      type: string
   404                      enum:
   405                        - RSA
   406                        - ECDSA
   407                        - Ed25519
   408                    encoding:
   409                      description: The private key cryptography standards (PKCS) encoding for this certificate's private key to be encoded in. If provided, allowed values are `PKCS1` and `PKCS8` standing for PKCS#1 and PKCS#8, respectively. Defaults to `PKCS1` if not specified.
   410                      type: string
   411                      enum:
   412                        - PKCS1
   413                        - PKCS8
   414                    rotationPolicy:
   415                      description: RotationPolicy controls how private keys should be regenerated when a re-issuance is being processed. If set to Never, a private key will only be generated if one does not already exist in the target `spec.secretName`. If one does exists but it does not have the correct algorithm or size, a warning will be raised to await user intervention. If set to Always, a private key matching the specified requirements will be generated whenever a re-issuance occurs. Default is 'Never' for backward compatibility.
   416                      type: string
   417                      enum:
   418                        - Never
   419                        - Always
   420                    size:
   421                      description: Size is the key bit size of the corresponding private key for this 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. No other values are allowed.
   422                      type: integer
   423                renewBefore:
   424                  description: How long before the currently issued certificate's expiry cert-manager should renew the certificate. The default is 2/3 of the issued certificate's duration. Minimum accepted value is 5 minutes. Value must be in units accepted by Go time.ParseDuration https://golang.org/pkg/time/#ParseDuration
   425                  type: string
   426                revisionHistoryLimit:
   427                  description: revisionHistoryLimit is the maximum number of CertificateRequest revisions that are maintained in the Certificate's history. Each revision represents a single `CertificateRequest` created by this Certificate, either when it was created, renewed, or Spec was changed. Revisions will be removed by oldest first if the number of revisions exceeds this number. If set, revisionHistoryLimit must be a value of `1` or greater. If unset (`nil`), revisions will not be garbage collected. Default value is `nil`.
   428                  type: integer
   429                  format: int32
   430                secretName:
   431                  description: SecretName is the name of the secret resource that will be automatically created and managed by this Certificate resource. It will be populated with a private key and certificate, signed by the denoted issuer.
   432                  type: string
   433                secretTemplate:
   434                  description: SecretTemplate defines annotations and labels to be copied to the Certificate's Secret. Labels and annotations on the Secret will be changed as they appear on the SecretTemplate when added or removed. SecretTemplate annotations are added in conjunction with, and cannot overwrite, the base set of annotations cert-manager sets on the Certificate's Secret.
   435                  type: object
   436                  properties:
   437                    annotations:
   438                      description: Annotations is a key value map to be copied to the target Kubernetes Secret.
   439                      type: object
   440                      additionalProperties:
   441                        type: string
   442                    labels:
   443                      description: Labels is a key value map to be copied to the target Kubernetes Secret.
   444                      type: object
   445                      additionalProperties:
   446                        type: string
   447                subject:
   448                  description: Full X509 name specification (https://golang.org/pkg/crypto/x509/pkix/#Name).
   449                  type: object
   450                  properties:
   451                    countries:
   452                      description: Countries to be used on the Certificate.
   453                      type: array
   454                      items:
   455                        type: string
   456                    localities:
   457                      description: Cities to be used on the Certificate.
   458                      type: array
   459                      items:
   460                        type: string
   461                    organizationalUnits:
   462                      description: Organizational Units to be used on the Certificate.
   463                      type: array
   464                      items:
   465                        type: string
   466                    organizations:
   467                      description: Organizations to be used on the Certificate.
   468                      type: array
   469                      items:
   470                        type: string
   471                    postalCodes:
   472                      description: Postal codes to be used on the Certificate.
   473                      type: array
   474                      items:
   475                        type: string
   476                    provinces:
   477                      description: State/Provinces to be used on the Certificate.
   478                      type: array
   479                      items:
   480                        type: string
   481                    serialNumber:
   482                      description: Serial number to be used on the Certificate.
   483                      type: string
   484                    streetAddresses:
   485                      description: Street addresses to be used on the Certificate.
   486                      type: array
   487                      items:
   488                        type: string
   489                uris:
   490                  description: URIs is a list of URI subjectAltNames to be set on the Certificate.
   491                  type: array
   492                  items:
   493                    type: string
   494                usages:
   495                  description: Usages is the set of x509 usages that are requested for the certificate. Defaults to `digital signature` and `key encipherment` if not specified.
   496                  type: array
   497                  items:
   498                    description: "KeyUsage specifies valid usage contexts for keys. See: https://tools.ietf.org/html/rfc5280#section-4.2.1.3 https://tools.ietf.org/html/rfc5280#section-4.2.1.12 \n Valid KeyUsage values are as follows: \"signing\", \"digital signature\", \"content commitment\", \"key encipherment\", \"key agreement\", \"data encipherment\", \"cert sign\", \"crl sign\", \"encipher only\", \"decipher only\", \"any\", \"server auth\", \"client auth\", \"code signing\", \"email protection\", \"s/mime\", \"ipsec end system\", \"ipsec tunnel\", \"ipsec user\", \"timestamping\", \"ocsp signing\", \"microsoft sgc\", \"netscape sgc\""
   499                    type: string
   500                    enum:
   501                      - signing
   502                      - digital signature
   503                      - content commitment
   504                      - key encipherment
   505                      - key agreement
   506                      - data encipherment
   507                      - cert sign
   508                      - crl sign
   509                      - encipher only
   510                      - decipher only
   511                      - any
   512                      - server auth
   513                      - client auth
   514                      - code signing
   515                      - email protection
   516                      - s/mime
   517                      - ipsec end system
   518                      - ipsec tunnel
   519                      - ipsec user
   520                      - timestamping
   521                      - ocsp signing
   522                      - microsoft sgc
   523                      - netscape sgc
   524            status:
   525              description: Status of the Certificate. This is set and managed automatically.
   526              type: object
   527              properties:
   528                conditions:
   529                  description: List of status conditions to indicate the status of certificates. Known condition types are `Ready` and `Issuing`.
   530                  type: array
   531                  items:
   532                    description: CertificateCondition contains condition information for an Certificate.
   533                    type: object
   534                    required:
   535                      - status
   536                      - type
   537                    properties:
   538                      lastTransitionTime:
   539                        description: LastTransitionTime is the timestamp corresponding to the last status change of this condition.
   540                        type: string
   541                        format: date-time
   542                      message:
   543                        description: Message is a human readable description of the details of the last transition, complementing reason.
   544                        type: string
   545                      observedGeneration:
   546                        description: If set, this represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date with respect to the current state of the Certificate.
   547                        type: integer
   548                        format: int64
   549                      reason:
   550                        description: Reason is a brief machine readable explanation for the condition's last transition.
   551                        type: string
   552                      status:
   553                        description: Status of the condition, one of (`True`, `False`, `Unknown`).
   554                        type: string
   555                        enum:
   556                          - "True"
   557                          - "False"
   558                          - Unknown
   559                      type:
   560                        description: Type of the condition, known values are (`Ready`, `Issuing`).
   561                        type: string
   562                  x-kubernetes-list-map-keys:
   563                    - type
   564                  x-kubernetes-list-type: map
   565                failedIssuanceAttempts:
   566                  description: The number of continuous failed issuance attempts up till now. This field gets removed (if set) on a successful issuance and gets set to 1 if unset and an issuance has failed. If an issuance has failed, the delay till the next issuance will be calculated using formula time.Hour * 2 ^ (failedIssuanceAttempts - 1).
   567                  type: integer
   568                lastFailureTime:
   569                  description: LastFailureTime is set only if the lastest issuance for this Certificate failed and contains the time of the failure. If an issuance has failed, the delay till the next issuance will be calculated using formula time.Hour * 2 ^ (failedIssuanceAttempts - 1). If the latest issuance has succeeded this field will be unset.
   570                  type: string
   571                  format: date-time
   572                nextPrivateKeySecretName:
   573                  description: The name of the Secret resource containing the private key to be used for the next certificate iteration. The keymanager controller will automatically set this field if the `Issuing` condition is set to `True`. It will automatically unset this field when the Issuing condition is not set or False.
   574                  type: string
   575                notAfter:
   576                  description: The expiration time of the certificate stored in the secret named by this resource in `spec.secretName`.
   577                  type: string
   578                  format: date-time
   579                notBefore:
   580                  description: The time after which the certificate stored in the secret named by this resource in spec.secretName is valid.
   581                  type: string
   582                  format: date-time
   583                renewalTime:
   584                  description: RenewalTime is the time at which the certificate will be next renewed. If not set, no upcoming renewal is scheduled.
   585                  type: string
   586                  format: date-time
   587                revision:
   588                  description: "The current 'revision' of the certificate as issued. \n When a CertificateRequest resource is created, it will have the `cert-manager.io/certificate-revision` set to one greater than the current value of this field. \n Upon issuance, this field will be set to the value of the annotation on the CertificateRequest resource used to issue the certificate. \n Persisting the value on the CertificateRequest resource allows the certificates controller to know whether a request is part of an old issuance or if it is part of the ongoing revision's issuance by checking if the revision value in the annotation is greater than this field."
   589                  type: integer
   590      served: true
   591      storage: true
   592---
   593# Source: cert-manager/templates/crds.yaml
   594apiVersion: apiextensions.k8s.io/v1
   595kind: CustomResourceDefinition
   596metadata:
   597  name: challenges.acme.cert-manager.io
   598  labels:
   599    app: 'cert-manager'
   600    app.kubernetes.io/name: 'cert-manager'
   601    app.kubernetes.io/instance: 'cert-manager'
   602    # Generated labels
   603    app.kubernetes.io/version: "v1.12.12"
   604spec:
   605  group: acme.cert-manager.io
   606  names:
   607    kind: Challenge
   608    listKind: ChallengeList
   609    plural: challenges
   610    singular: challenge
   611    categories:
   612      - cert-manager
   613      - cert-manager-acme
   614  scope: Namespaced
   615  versions:
   616    - additionalPrinterColumns:
   617        - jsonPath: .status.state
   618          name: State
   619          type: string
   620        - jsonPath: .spec.dnsName
   621          name: Domain
   622          type: string
   623        - jsonPath: .status.reason
   624          name: Reason
   625          priority: 1
   626          type: string
   627        - 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.
   628          jsonPath: .metadata.creationTimestamp
   629          name: Age
   630          type: date
   631      name: v1
   632      schema:
   633        openAPIV3Schema:
   634          description: Challenge is a type to represent a Challenge request with an ACME server
   635          type: object
   636          required:
   637            - metadata
   638            - spec
   639          properties:
   640            apiVersion:
   641              description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   642              type: string
   643            kind:
   644              description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   645              type: string
   646            metadata:
   647              type: object
   648            spec:
   649              type: object
   650              required:
   651                - authorizationURL
   652                - dnsName
   653                - issuerRef
   654                - key
   655                - solver
   656                - token
   657                - type
   658                - url
   659              properties:
   660                authorizationURL:
   661                  description: The URL to the ACME Authorization resource that this challenge is a part of.
   662                  type: string
   663                dnsName:
   664                  description: dnsName is the identifier that this challenge is for, e.g. example.com. If the requested DNSName is a 'wildcard', this field MUST be set to the non-wildcard domain, e.g. for `*.example.com`, it must be `example.com`.
   665                  type: string
   666                issuerRef:
   667                  description: References a properly configured ACME-type Issuer which should be used to create this Challenge. If the Issuer does not exist, processing will be retried. If the Issuer is not an 'ACME' Issuer, an error will be returned and the Challenge will be marked as failed.
   668                  type: object
   669                  required:
   670                    - name
   671                  properties:
   672                    group:
   673                      description: Group of the resource being referred to.
   674                      type: string
   675                    kind:
   676                      description: Kind of the resource being referred to.
   677                      type: string
   678                    name:
   679                      description: Name of the resource being referred to.
   680                      type: string
   681                key:
   682                  description: 'The ACME challenge key for this challenge For HTTP01 challenges, this is the value that must be responded with to complete the HTTP01 challenge in the format: `<private key JWK thumbprint>.<key from acme server for challenge>`. For DNS01 challenges, this is the base64 encoded SHA256 sum of the `<private key JWK thumbprint>.<key from acme server for challenge>` text that must be set as the TXT record content.'
   683                  type: string
   684                solver:
   685                  description: Contains the domain solving configuration that should be used to solve this challenge resource.
   686                  type: object
   687                  properties:
   688                    dns01:
   689                      description: Configures cert-manager to attempt to complete authorizations by performing the DNS01 challenge flow.
   690                      type: object
   691                      properties:
   692                        acmeDNS:
   693                          description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns) API to manage DNS01 challenge records.
   694                          type: object
   695                          required:
   696                            - accountSecretRef
   697                            - host
   698                          properties:
   699                            accountSecretRef:
   700                              description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   701                              type: object
   702                              required:
   703                                - name
   704                              properties:
   705                                key:
   706                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   707                                  type: string
   708                                name:
   709                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   710                                  type: string
   711                            host:
   712                              type: string
   713                        akamai:
   714                          description: Use the Akamai DNS zone management API to manage DNS01 challenge records.
   715                          type: object
   716                          required:
   717                            - accessTokenSecretRef
   718                            - clientSecretSecretRef
   719                            - clientTokenSecretRef
   720                            - serviceConsumerDomain
   721                          properties:
   722                            accessTokenSecretRef:
   723                              description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   724                              type: object
   725                              required:
   726                                - name
   727                              properties:
   728                                key:
   729                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   730                                  type: string
   731                                name:
   732                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   733                                  type: string
   734                            clientSecretSecretRef:
   735                              description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   736                              type: object
   737                              required:
   738                                - name
   739                              properties:
   740                                key:
   741                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   742                                  type: string
   743                                name:
   744                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   745                                  type: string
   746                            clientTokenSecretRef:
   747                              description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   748                              type: object
   749                              required:
   750                                - name
   751                              properties:
   752                                key:
   753                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   754                                  type: string
   755                                name:
   756                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   757                                  type: string
   758                            serviceConsumerDomain:
   759                              type: string
   760                        azureDNS:
   761                          description: Use the Microsoft Azure DNS API to manage DNS01 challenge records.
   762                          type: object
   763                          required:
   764                            - resourceGroupName
   765                            - subscriptionID
   766                          properties:
   767                            clientID:
   768                              description: if both this and ClientSecret are left unset MSI will be used
   769                              type: string
   770                            clientSecretSecretRef:
   771                              description: if both this and ClientID are left unset MSI will be used
   772                              type: object
   773                              required:
   774                                - name
   775                              properties:
   776                                key:
   777                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   778                                  type: string
   779                                name:
   780                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   781                                  type: string
   782                            environment:
   783                              description: name of the Azure environment (default AzurePublicCloud)
   784                              type: string
   785                              enum:
   786                                - AzurePublicCloud
   787                                - AzureChinaCloud
   788                                - AzureGermanCloud
   789                                - AzureUSGovernmentCloud
   790                            hostedZoneName:
   791                              description: name of the DNS zone that should be used
   792                              type: string
   793                            managedIdentity:
   794                              description: managed identity configuration, can not be used at the same time as clientID, clientSecretSecretRef or tenantID
   795                              type: object
   796                              properties:
   797                                clientID:
   798                                  description: client ID of the managed identity, can not be used at the same time as resourceID
   799                                  type: string
   800                                resourceID:
   801                                  description: resource ID of the managed identity, can not be used at the same time as clientID
   802                                  type: string
   803                            resourceGroupName:
   804                              description: resource group the DNS zone is located in
   805                              type: string
   806                            subscriptionID:
   807                              description: ID of the Azure subscription
   808                              type: string
   809                            tenantID:
   810                              description: when specifying ClientID and ClientSecret then this field is also needed
   811                              type: string
   812                        cloudDNS:
   813                          description: Use the Google Cloud DNS API to manage DNS01 challenge records.
   814                          type: object
   815                          required:
   816                            - project
   817                          properties:
   818                            hostedZoneName:
   819                              description: HostedZoneName is an optional field that tells cert-manager in which Cloud DNS zone the challenge record has to be created. If left empty cert-manager will automatically choose a zone.
   820                              type: string
   821                            project:
   822                              type: string
   823                            serviceAccountSecretRef:
   824                              description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   825                              type: object
   826                              required:
   827                                - name
   828                              properties:
   829                                key:
   830                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   831                                  type: string
   832                                name:
   833                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   834                                  type: string
   835                        cloudflare:
   836                          description: Use the Cloudflare API to manage DNS01 challenge records.
   837                          type: object
   838                          properties:
   839                            apiKeySecretRef:
   840                              description: 'API key to use to authenticate with Cloudflare. Note: using an API token to authenticate is now the recommended method as it allows greater control of permissions.'
   841                              type: object
   842                              required:
   843                                - name
   844                              properties:
   845                                key:
   846                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   847                                  type: string
   848                                name:
   849                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   850                                  type: string
   851                            apiTokenSecretRef:
   852                              description: API token used to authenticate with Cloudflare.
   853                              type: object
   854                              required:
   855                                - name
   856                              properties:
   857                                key:
   858                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   859                                  type: string
   860                                name:
   861                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   862                                  type: string
   863                            email:
   864                              description: Email of the account, only required when using API key based authentication.
   865                              type: string
   866                        cnameStrategy:
   867                          description: CNAMEStrategy configures how the DNS01 provider should handle CNAME records when found in DNS zones.
   868                          type: string
   869                          enum:
   870                            - None
   871                            - Follow
   872                        digitalocean:
   873                          description: Use the DigitalOcean DNS API to manage DNS01 challenge records.
   874                          type: object
   875                          required:
   876                            - tokenSecretRef
   877                          properties:
   878                            tokenSecretRef:
   879                              description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   880                              type: object
   881                              required:
   882                                - name
   883                              properties:
   884                                key:
   885                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   886                                  type: string
   887                                name:
   888                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   889                                  type: string
   890                        rfc2136:
   891                          description: Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/) to manage DNS01 challenge records.
   892                          type: object
   893                          required:
   894                            - nameserver
   895                          properties:
   896                            nameserver:
   897                              description: The IP address or hostname of an authoritative DNS server supporting RFC2136 in the form host:port. If the host is an IPv6 address it must be enclosed in square brackets (e.g [2001:db8::1]) ; port is optional. This field is required.
   898                              type: string
   899                            tsigAlgorithm:
   900                              description: 'The TSIG Algorithm configured in the DNS supporting RFC2136. Used only when ``tsigSecretSecretRef`` and ``tsigKeyName`` are defined. Supported values are (case-insensitive): ``HMACMD5`` (default), ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.'
   901                              type: string
   902                            tsigKeyName:
   903                              description: The TSIG Key name configured in the DNS. If ``tsigSecretSecretRef`` is defined, this field is required.
   904                              type: string
   905                            tsigSecretSecretRef:
   906                              description: The name of the secret containing the TSIG value. If ``tsigKeyName`` is defined, this field is required.
   907                              type: object
   908                              required:
   909                                - name
   910                              properties:
   911                                key:
   912                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   913                                  type: string
   914                                name:
   915                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   916                                  type: string
   917                        route53:
   918                          description: Use the AWS Route53 API to manage DNS01 challenge records.
   919                          type: object
   920                          required:
   921                            - region
   922                          properties:
   923                            accessKeyID:
   924                              description: 'The AccessKeyID is used for authentication. Cannot be set when SecretAccessKeyID is set. If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
   925                              type: string
   926                            accessKeyIDSecretRef:
   927                              description: 'The SecretAccessKey is used for authentication. If set, pull the AWS access key ID from a key within a Kubernetes Secret. Cannot be set when AccessKeyID is set. If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
   928                              type: object
   929                              required:
   930                                - name
   931                              properties:
   932                                key:
   933                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   934                                  type: string
   935                                name:
   936                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   937                                  type: string
   938                            hostedZoneID:
   939                              description: If set, the provider will manage only this zone in Route53 and will not do an lookup using the route53:ListHostedZonesByName api call.
   940                              type: string
   941                            region:
   942                              description: Always set the region when using AccessKeyID and SecretAccessKey
   943                              type: string
   944                            role:
   945                              description: Role is a Role ARN which the Route53 provider will assume using either the explicit credentials AccessKeyID/SecretAccessKey or the inferred credentials from environment variables, shared credentials file or AWS Instance metadata
   946                              type: string
   947                            secretAccessKeySecretRef:
   948                              description: 'The SecretAccessKey is used for authentication. If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
   949                              type: object
   950                              required:
   951                                - name
   952                              properties:
   953                                key:
   954                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
   955                                  type: string
   956                                name:
   957                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   958                                  type: string
   959                        webhook:
   960                          description: Configure an external webhook based DNS01 challenge solver to manage DNS01 challenge records.
   961                          type: object
   962                          required:
   963                            - groupName
   964                            - solverName
   965                          properties:
   966                            config:
   967                              description: Additional configuration that should be passed to the webhook apiserver when challenges are processed. This can contain arbitrary JSON data. Secret values should not be specified in this stanza. If secret values are needed (e.g. credentials for a DNS service), you should use a SecretKeySelector to reference a Secret resource. For details on the schema of this field, consult the webhook provider implementation's documentation.
   968                              x-kubernetes-preserve-unknown-fields: true
   969                            groupName:
   970                              description: The API group name that should be used when POSTing ChallengePayload resources to the webhook apiserver. This should be the same as the GroupName specified in the webhook provider implementation.
   971                              type: string
   972                            solverName:
   973                              description: The name of the solver to use, as defined in the webhook provider implementation. This will typically be the name of the provider, e.g. 'cloudflare'.
   974                              type: string
   975                    http01:
   976                      description: Configures cert-manager to attempt to complete authorizations by performing the HTTP01 challenge flow. It is not possible to obtain certificates for wildcard domain names (e.g. `*.example.com`) using the HTTP01 challenge mechanism.
   977                      type: object
   978                      properties:
   979                        gatewayHTTPRoute:
   980                          description: The Gateway API is a sig-network community API that models service networking in Kubernetes (https://gateway-api.sigs.k8s.io/). The Gateway solver will create HTTPRoutes with the specified labels in the same namespace as the challenge. This solver is experimental, and fields / behaviour may change in the future.
   981                          type: object
   982                          properties:
   983                            labels:
   984                              description: Custom labels that will be applied to HTTPRoutes created by cert-manager while solving HTTP-01 challenges.
   985                              type: object
   986                              additionalProperties:
   987                                type: string
   988                            parentRefs:
   989                              description: 'When solving an HTTP-01 challenge, cert-manager creates an HTTPRoute. cert-manager needs to know which parentRefs should be used when creating the HTTPRoute. Usually, the parentRef references a Gateway. See: https://gateway-api.sigs.k8s.io/api-types/httproute/#attaching-to-gateways'
   990                              type: array
   991                              items:
   992                                description: "ParentReference identifies an API object (usually a Gateway) that can be considered a parent of this resource (usually a route). The only kind of parent resource with \"Core\" support is Gateway. This API may be extended in the future to support additional kinds of parent resources, such as HTTPRoute. \n The API object must be valid in the cluster; the Group and Kind must be registered in the cluster for this reference to be valid."
   993                                type: object
   994                                required:
   995                                  - name
   996                                properties:
   997                                  group:
   998                                    description: "Group is the group of the referent. When unspecified, \"gateway.networking.k8s.io\" is inferred. To set the core API group (such as for a \"Service\" kind referent), Group must be explicitly set to \"\" (empty string). \n Support: Core"
   999                                    type: string
  1000                                    default: gateway.networking.k8s.io
  1001                                    maxLength: 253
  1002                                    pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1003                                  kind:
  1004                                    description: "Kind is kind of the referent. \n Support: Core (Gateway) \n Support: Implementation-specific (Other Resources)"
  1005                                    type: string
  1006                                    default: Gateway
  1007                                    maxLength: 63
  1008                                    minLength: 1
  1009                                    pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
  1010                                  name:
  1011                                    description: "Name is the name of the referent. \n Support: Core"
  1012                                    type: string
  1013                                    maxLength: 253
  1014                                    minLength: 1
  1015                                  namespace:
  1016                                    description: "Namespace is the namespace of the referent. When unspecified, this refers to the local namespace of the Route. \n Note that there are specific rules for ParentRefs which cross namespace boundaries. Cross-namespace references are only valid if they are explicitly allowed by something in the namespace they are referring to. For example: Gateway has the AllowedRoutes field, and ReferenceGrant provides a generic way to enable any other kind of cross-namespace reference. \n Support: Core"
  1017                                    type: string
  1018                                    maxLength: 63
  1019                                    minLength: 1
  1020                                    pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1021                                  port:
  1022                                    description: "Port is the network port this Route targets. It can be interpreted differently based on the type of parent resource. \n When the parent resource is a Gateway, this targets all listeners listening on the specified port that also support this kind of Route(and select this Route). It's not recommended to set `Port` unless the networking behaviors specified in a Route must apply to a specific port as opposed to a listener(s) whose port(s) may be changed. When both Port and SectionName are specified, the name and port of the selected listener must match both specified values. \n Implementations MAY choose to support other parent resources. Implementations supporting other types of parent resources MUST clearly document how/if Port is interpreted. \n For the purpose of status, an attachment is considered successful as long as the parent resource accepts it partially. For example, Gateway listeners can restrict which Routes can attach to them by Route kind, namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from the referencing Route, the Route MUST be considered successfully attached. If no Gateway listeners accept attachment from this Route, the Route MUST be considered detached from the Gateway. \n Support: Extended \n <gateway:experimental>"
  1023                                    type: integer
  1024                                    format: int32
  1025                                    maximum: 65535
  1026                                    minimum: 1
  1027                                  sectionName:
  1028                                    description: "SectionName is the name of a section within the target resource. In the following resources, SectionName is interpreted as the following: \n * Gateway: Listener Name. When both Port (experimental) and SectionName are specified, the name and port of the selected listener must match both specified values. \n Implementations MAY choose to support attaching Routes to other resources. If that is the case, they MUST clearly document how SectionName is interpreted. \n When unspecified (empty string), this will reference the entire resource. For the purpose of status, an attachment is considered successful if at least one section in the parent resource accepts it. For example, Gateway listeners can restrict which Routes can attach to them by Route kind, namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from the referencing Route, the Route MUST be considered successfully attached. If no Gateway listeners accept attachment from this Route, the Route MUST be considered detached from the Gateway. \n Support: Core"
  1029                                    type: string
  1030                                    maxLength: 253
  1031                                    minLength: 1
  1032                                    pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1033                            serviceType:
  1034                              description: Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort.
  1035                              type: string
  1036                        ingress:
  1037                          description: The ingress based HTTP01 challenge solver will solve challenges by creating or modifying Ingress resources in order to route requests for '/.well-known/acme-challenge/XYZ' to 'challenge solver' pods that are provisioned by cert-manager for each Challenge to be completed.
  1038                          type: object
  1039                          properties:
  1040                            class:
  1041                              description: This field configures the annotation `kubernetes.io/ingress.class` when creating Ingress resources to solve ACME challenges that use this challenge solver. Only one of `class`, `name` or `ingressClassName` may be specified.
  1042                              type: string
  1043                            ingressClassName:
  1044                              description: This field configures the field `ingressClassName` on the created Ingress resources used to solve ACME challenges that use this challenge solver. This is the recommended way of configuring the ingress class. Only one of `class`, `name` or `ingressClassName` may be specified.
  1045                              type: string
  1046                            ingressTemplate:
  1047                              description: Optional ingress template used to configure the ACME challenge solver ingress used for HTTP01 challenges.
  1048                              type: object
  1049                              properties:
  1050                                metadata:
  1051                                  description: ObjectMeta overrides for the ingress used to solve HTTP01 challenges. Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values.
  1052                                  type: object
  1053                                  properties:
  1054                                    annotations:
  1055                                      description: Annotations that should be added to the created ACME HTTP01 solver ingress.
  1056                                      type: object
  1057                                      additionalProperties:
  1058                                        type: string
  1059                                    labels:
  1060                                      description: Labels that should be added to the created ACME HTTP01 solver ingress.
  1061                                      type: object
  1062                                      additionalProperties:
  1063                                        type: string
  1064                            name:
  1065                              description: The name of the ingress resource that should have ACME challenge solving routes inserted into it in order to solve HTTP01 challenges. This is typically used in conjunction with ingress controllers like ingress-gce, which maintains a 1:1 mapping between external IPs and ingress resources. Only one of `class`, `name` or `ingressClassName` may be specified.
  1066                              type: string
  1067                            podTemplate:
  1068                              description: Optional pod template used to configure the ACME challenge solver pods used for HTTP01 challenges.
  1069                              type: object
  1070                              properties:
  1071                                metadata:
  1072                                  description: ObjectMeta overrides for the pod used to solve HTTP01 challenges. Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values.
  1073                                  type: object
  1074                                  properties:
  1075                                    annotations:
  1076                                      description: Annotations that should be added to the create ACME HTTP01 solver pods.
  1077                                      type: object
  1078                                      additionalProperties:
  1079                                        type: string
  1080                                    labels:
  1081                                      description: Labels that should be added to the created ACME HTTP01 solver pods.
  1082                                      type: object
  1083                                      additionalProperties:
  1084                                        type: string
  1085                                spec:
  1086                                  description: PodSpec defines overrides for the HTTP01 challenge solver pod. Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields. All other fields will be ignored.
  1087                                  type: object
  1088                                  properties:
  1089                                    affinity:
  1090                                      description: If specified, the pod's scheduling constraints
  1091                                      type: object
  1092                                      properties:
  1093                                        nodeAffinity:
  1094                                          description: Describes node affinity scheduling rules for the pod.
  1095                                          type: object
  1096                                          properties:
  1097                                            preferredDuringSchedulingIgnoredDuringExecution:
  1098                                              description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
  1099                                              type: array
  1100                                              items:
  1101                                                description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  1102                                                type: object
  1103                                                required:
  1104                                                  - preference
  1105                                                  - weight
  1106                                                properties:
  1107                                                  preference:
  1108                                                    description: A node selector term, associated with the corresponding weight.
  1109                                                    type: object
  1110                                                    properties:
  1111                                                      matchExpressions:
  1112                                                        description: A list of node selector requirements by node's labels.
  1113                                                        type: array
  1114                                                        items:
  1115                                                          description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1116                                                          type: object
  1117                                                          required:
  1118                                                            - key
  1119                                                            - operator
  1120                                                          properties:
  1121                                                            key:
  1122                                                              description: The label key that the selector applies to.
  1123                                                              type: string
  1124                                                            operator:
  1125                                                              description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  1126                                                              type: string
  1127                                                            values:
  1128                                                              description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  1129                                                              type: array
  1130                                                              items:
  1131                                                                type: string
  1132                                                      matchFields:
  1133                                                        description: A list of node selector requirements by node's fields.
  1134                                                        type: array
  1135                                                        items:
  1136                                                          description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1137                                                          type: object
  1138                                                          required:
  1139                                                            - key
  1140                                                            - operator
  1141                                                          properties:
  1142                                                            key:
  1143                                                              description: The label key that the selector applies to.
  1144                                                              type: string
  1145                                                            operator:
  1146                                                              description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  1147                                                              type: string
  1148                                                            values:
  1149                                                              description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  1150                                                              type: array
  1151                                                              items:
  1152                                                                type: string
  1153                                                    x-kubernetes-map-type: atomic
  1154                                                  weight:
  1155                                                    description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  1156                                                    type: integer
  1157                                                    format: int32
  1158                                            requiredDuringSchedulingIgnoredDuringExecution:
  1159                                              description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
  1160                                              type: object
  1161                                              required:
  1162                                                - nodeSelectorTerms
  1163                                              properties:
  1164                                                nodeSelectorTerms:
  1165                                                  description: Required. A list of node selector terms. The terms are ORed.
  1166                                                  type: array
  1167                                                  items:
  1168                                                    description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  1169                                                    type: object
  1170                                                    properties:
  1171                                                      matchExpressions:
  1172                                                        description: A list of node selector requirements by node's labels.
  1173                                                        type: array
  1174                                                        items:
  1175                                                          description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1176                                                          type: object
  1177                                                          required:
  1178                                                            - key
  1179                                                            - operator
  1180                                                          properties:
  1181                                                            key:
  1182                                                              description: The label key that the selector applies to.
  1183                                                              type: string
  1184                                                            operator:
  1185                                                              description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  1186                                                              type: string
  1187                                                            values:
  1188                                                              description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  1189                                                              type: array
  1190                                                              items:
  1191                                                                type: string
  1192                                                      matchFields:
  1193                                                        description: A list of node selector requirements by node's fields.
  1194                                                        type: array
  1195                                                        items:
  1196                                                          description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1197                                                          type: object
  1198                                                          required:
  1199                                                            - key
  1200                                                            - operator
  1201                                                          properties:
  1202                                                            key:
  1203                                                              description: The label key that the selector applies to.
  1204                                                              type: string
  1205                                                            operator:
  1206                                                              description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  1207                                                              type: string
  1208                                                            values:
  1209                                                              description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  1210                                                              type: array
  1211                                                              items:
  1212                                                                type: string
  1213                                                    x-kubernetes-map-type: atomic
  1214                                              x-kubernetes-map-type: atomic
  1215                                        podAffinity:
  1216                                          description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
  1217                                          type: object
  1218                                          properties:
  1219                                            preferredDuringSchedulingIgnoredDuringExecution:
  1220                                              description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
  1221                                              type: array
  1222                                              items:
  1223                                                description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
  1224                                                type: object
  1225                                                required:
  1226                                                  - podAffinityTerm
  1227                                                  - weight
  1228                                                properties:
  1229                                                  podAffinityTerm:
  1230                                                    description: Required. A pod affinity term, associated with the corresponding weight.
  1231                                                    type: object
  1232                                                    required:
  1233                                                      - topologyKey
  1234                                                    properties:
  1235                                                      labelSelector:
  1236                                                        description: A label query over a set of resources, in this case pods.
  1237                                                        type: object
  1238                                                        properties:
  1239                                                          matchExpressions:
  1240                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  1241                                                            type: array
  1242                                                            items:
  1243                                                              description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1244                                                              type: object
  1245                                                              required:
  1246                                                                - key
  1247                                                                - operator
  1248                                                              properties:
  1249                                                                key:
  1250                                                                  description: key is the label key that the selector applies to.
  1251                                                                  type: string
  1252                                                                operator:
  1253                                                                  description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  1254                                                                  type: string
  1255                                                                values:
  1256                                                                  description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  1257                                                                  type: array
  1258                                                                  items:
  1259                                                                    type: string
  1260                                                          matchLabels:
  1261                                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  1262                                                            type: object
  1263                                                            additionalProperties:
  1264                                                              type: string
  1265                                                        x-kubernetes-map-type: atomic
  1266                                                      namespaceSelector:
  1267                                                        description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  1268                                                        type: object
  1269                                                        properties:
  1270                                                          matchExpressions:
  1271                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  1272                                                            type: array
  1273                                                            items:
  1274                                                              description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1275                                                              type: object
  1276                                                              required:
  1277                                                                - key
  1278                                                                - operator
  1279                                                              properties:
  1280                                                                key:
  1281                                                                  description: key is the label key that the selector applies to.
  1282                                                                  type: string
  1283                                                                operator:
  1284                                                                  description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  1285                                                                  type: string
  1286                                                                values:
  1287                                                                  description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  1288                                                                  type: array
  1289                                                                  items:
  1290                                                                    type: string
  1291                                                          matchLabels:
  1292                                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  1293                                                            type: object
  1294                                                            additionalProperties:
  1295                                                              type: string
  1296                                                        x-kubernetes-map-type: atomic
  1297                                                      namespaces:
  1298                                                        description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  1299                                                        type: array
  1300                                                        items:
  1301                                                          type: string
  1302                                                      topologyKey:
  1303                                                        description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  1304                                                        type: string
  1305                                                  weight:
  1306                                                    description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  1307                                                    type: integer
  1308                                                    format: int32
  1309                                            requiredDuringSchedulingIgnoredDuringExecution:
  1310                                              description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
  1311                                              type: array
  1312                                              items:
  1313                                                description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
  1314                                                type: object
  1315                                                required:
  1316                                                  - topologyKey
  1317                                                properties:
  1318                                                  labelSelector:
  1319                                                    description: A label query over a set of resources, in this case pods.
  1320                                                    type: object
  1321                                                    properties:
  1322                                                      matchExpressions:
  1323                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  1324                                                        type: array
  1325                                                        items:
  1326                                                          description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1327                                                          type: object
  1328                                                          required:
  1329                                                            - key
  1330                                                            - operator
  1331                                                          properties:
  1332                                                            key:
  1333                                                              description: key is the label key that the selector applies to.
  1334                                                              type: string
  1335                                                            operator:
  1336                                                              description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  1337                                                              type: string
  1338                                                            values:
  1339                                                              description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  1340                                                              type: array
  1341                                                              items:
  1342                                                                type: string
  1343                                                      matchLabels:
  1344                                                        description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  1345                                                        type: object
  1346                                                        additionalProperties:
  1347                                                          type: string
  1348                                                    x-kubernetes-map-type: atomic
  1349                                                  namespaceSelector:
  1350                                                    description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  1351                                                    type: object
  1352                                                    properties:
  1353                                                      matchExpressions:
  1354                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  1355                                                        type: array
  1356                                                        items:
  1357                                                          description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1358                                                          type: object
  1359                                                          required:
  1360                                                            - key
  1361                                                            - operator
  1362                                                          properties:
  1363                                                            key:
  1364                                                              description: key is the label key that the selector applies to.
  1365                                                              type: string
  1366                                                            operator:
  1367                                                              description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  1368                                                              type: string
  1369                                                            values:
  1370                                                              description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  1371                                                              type: array
  1372                                                              items:
  1373                                                                type: string
  1374                                                      matchLabels:
  1375                                                        description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  1376                                                        type: object
  1377                                                        additionalProperties:
  1378                                                          type: string
  1379                                                    x-kubernetes-map-type: atomic
  1380                                                  namespaces:
  1381                                                    description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  1382                                                    type: array
  1383                                                    items:
  1384                                                      type: string
  1385                                                  topologyKey:
  1386                                                    description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  1387                                                    type: string
  1388                                        podAntiAffinity:
  1389                                          description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
  1390                                          type: object
  1391                                          properties:
  1392                                            preferredDuringSchedulingIgnoredDuringExecution:
  1393                                              description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
  1394                                              type: array
  1395                                              items:
  1396                                                description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
  1397                                                type: object
  1398                                                required:
  1399                                                  - podAffinityTerm
  1400                                                  - weight
  1401                                                properties:
  1402                                                  podAffinityTerm:
  1403                                                    description: Required. A pod affinity term, associated with the corresponding weight.
  1404                                                    type: object
  1405                                                    required:
  1406                                                      - topologyKey
  1407                                                    properties:
  1408                                                      labelSelector:
  1409                                                        description: A label query over a set of resources, in this case pods.
  1410                                                        type: object
  1411                                                        properties:
  1412                                                          matchExpressions:
  1413                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  1414                                                            type: array
  1415                                                            items:
  1416                                                              description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1417                                                              type: object
  1418                                                              required:
  1419                                                                - key
  1420                                                                - operator
  1421                                                              properties:
  1422                                                                key:
  1423                                                                  description: key is the label key that the selector applies to.
  1424                                                                  type: string
  1425                                                                operator:
  1426                                                                  description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  1427                                                                  type: string
  1428                                                                values:
  1429                                                                  description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  1430                                                                  type: array
  1431                                                                  items:
  1432                                                                    type: string
  1433                                                          matchLabels:
  1434                                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  1435                                                            type: object
  1436                                                            additionalProperties:
  1437                                                              type: string
  1438                                                        x-kubernetes-map-type: atomic
  1439                                                      namespaceSelector:
  1440                                                        description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  1441                                                        type: object
  1442                                                        properties:
  1443                                                          matchExpressions:
  1444                                                            description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  1445                                                            type: array
  1446                                                            items:
  1447                                                              description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1448                                                              type: object
  1449                                                              required:
  1450                                                                - key
  1451                                                                - operator
  1452                                                              properties:
  1453                                                                key:
  1454                                                                  description: key is the label key that the selector applies to.
  1455                                                                  type: string
  1456                                                                operator:
  1457                                                                  description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  1458                                                                  type: string
  1459                                                                values:
  1460                                                                  description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  1461                                                                  type: array
  1462                                                                  items:
  1463                                                                    type: string
  1464                                                          matchLabels:
  1465                                                            description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  1466                                                            type: object
  1467                                                            additionalProperties:
  1468                                                              type: string
  1469                                                        x-kubernetes-map-type: atomic
  1470                                                      namespaces:
  1471                                                        description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  1472                                                        type: array
  1473                                                        items:
  1474                                                          type: string
  1475                                                      topologyKey:
  1476                                                        description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  1477                                                        type: string
  1478                                                  weight:
  1479                                                    description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  1480                                                    type: integer
  1481                                                    format: int32
  1482                                            requiredDuringSchedulingIgnoredDuringExecution:
  1483                                              description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
  1484                                              type: array
  1485                                              items:
  1486                                                description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
  1487                                                type: object
  1488                                                required:
  1489                                                  - topologyKey
  1490                                                properties:
  1491                                                  labelSelector:
  1492                                                    description: A label query over a set of resources, in this case pods.
  1493                                                    type: object
  1494                                                    properties:
  1495                                                      matchExpressions:
  1496                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  1497                                                        type: array
  1498                                                        items:
  1499                                                          description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1500                                                          type: object
  1501                                                          required:
  1502                                                            - key
  1503                                                            - operator
  1504                                                          properties:
  1505                                                            key:
  1506                                                              description: key is the label key that the selector applies to.
  1507                                                              type: string
  1508                                                            operator:
  1509                                                              description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  1510                                                              type: string
  1511                                                            values:
  1512                                                              description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  1513                                                              type: array
  1514                                                              items:
  1515                                                                type: string
  1516                                                      matchLabels:
  1517                                                        description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  1518                                                        type: object
  1519                                                        additionalProperties:
  1520                                                          type: string
  1521                                                    x-kubernetes-map-type: atomic
  1522                                                  namespaceSelector:
  1523                                                    description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  1524                                                    type: object
  1525                                                    properties:
  1526                                                      matchExpressions:
  1527                                                        description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  1528                                                        type: array
  1529                                                        items:
  1530                                                          description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  1531                                                          type: object
  1532                                                          required:
  1533                                                            - key
  1534                                                            - operator
  1535                                                          properties:
  1536                                                            key:
  1537                                                              description: key is the label key that the selector applies to.
  1538                                                              type: string
  1539                                                            operator:
  1540                                                              description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  1541                                                              type: string
  1542                                                            values:
  1543                                                              description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  1544                                                              type: array
  1545                                                              items:
  1546                                                                type: string
  1547                                                      matchLabels:
  1548                                                        description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  1549                                                        type: object
  1550                                                        additionalProperties:
  1551                                                          type: string
  1552                                                    x-kubernetes-map-type: atomic
  1553                                                  namespaces:
  1554                                                    description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  1555                                                    type: array
  1556                                                    items:
  1557                                                      type: string
  1558                                                  topologyKey:
  1559                                                    description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  1560                                                    type: string
  1561                                    imagePullSecrets:
  1562                                      description: If specified, the pod's imagePullSecrets
  1563                                      type: array
  1564                                      items:
  1565                                        description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
  1566                                        type: object
  1567                                        properties:
  1568                                          name:
  1569                                            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  1570                                            type: string
  1571                                        x-kubernetes-map-type: atomic
  1572                                    nodeSelector:
  1573                                      description: 'NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node''s labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  1574                                      type: object
  1575                                      additionalProperties:
  1576                                        type: string
  1577                                    priorityClassName:
  1578                                      description: If specified, the pod's priorityClassName.
  1579                                      type: string
  1580                                    serviceAccountName:
  1581                                      description: If specified, the pod's service account
  1582                                      type: string
  1583                                    tolerations:
  1584                                      description: If specified, the pod's tolerations.
  1585                                      type: array
  1586                                      items:
  1587                                        description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
  1588                                        type: object
  1589                                        properties:
  1590                                          effect:
  1591                                            description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  1592                                            type: string
  1593                                          key:
  1594                                            description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  1595                                            type: string
  1596                                          operator:
  1597                                            description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
  1598                                            type: string
  1599                                          tolerationSeconds:
  1600                                            description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
  1601                                            type: integer
  1602                                            format: int64
  1603                                          value:
  1604                                            description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
  1605                                            type: string
  1606                            serviceType:
  1607                              description: Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort.
  1608                              type: string
  1609                    selector:
  1610                      description: Selector selects a set of DNSNames on the Certificate resource that should be solved using this challenge solver. If not specified, the solver will be treated as the 'default' solver with the lowest priority, i.e. if any other solver has a more specific match, it will be used instead.
  1611                      type: object
  1612                      properties:
  1613                        dnsNames:
  1614                          description: List of DNSNames that this solver will be used to solve. If specified and a match is found, a dnsNames selector will take precedence over a dnsZones selector. If multiple solvers match with the same dnsNames value, the solver with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected.
  1615                          type: array
  1616                          items:
  1617                            type: string
  1618                        dnsZones:
  1619                          description: List of DNSZones that this solver will be used to solve. The most specific DNS zone match specified here will take precedence over other DNS zone matches, so a solver specifying sys.example.com will be selected over one specifying example.com for the domain www.sys.example.com. If multiple solvers match with the same dnsZones value, the solver with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected.
  1620                          type: array
  1621                          items:
  1622                            type: string
  1623                        matchLabels:
  1624                          description: A label selector that is used to refine the set of certificate's that this challenge solver will apply to.
  1625                          type: object
  1626                          additionalProperties:
  1627                            type: string
  1628                token:
  1629                  description: The ACME challenge token for this challenge. This is the raw value returned from the ACME server.
  1630                  type: string
  1631                type:
  1632                  description: The type of ACME challenge this resource represents. One of "HTTP-01" or "DNS-01".
  1633                  type: string
  1634                  enum:
  1635                    - HTTP-01
  1636                    - DNS-01
  1637                url:
  1638                  description: The URL of the ACME Challenge resource for this challenge. This can be used to lookup details about the status of this challenge.
  1639                  type: string
  1640                wildcard:
  1641                  description: wildcard will be true if this challenge is for a wildcard identifier, for example '*.example.com'.
  1642                  type: boolean
  1643            status:
  1644              type: object
  1645              properties:
  1646                presented:
  1647                  description: presented will be set to true if the challenge values for this challenge are currently 'presented'. This *does not* imply the self check is passing. Only that the values have been 'submitted' for the appropriate challenge mechanism (i.e. the DNS01 TXT record has been presented, or the HTTP01 configuration has been configured).
  1648                  type: boolean
  1649                processing:
  1650                  description: Used to denote whether this challenge should be processed or not. This field will only be set to true by the 'scheduling' component. It will only be set to false by the 'challenges' controller, after the challenge has reached a final state or timed out. If this field is set to false, the challenge controller will not take any more action.
  1651                  type: boolean
  1652                reason:
  1653                  description: Contains human readable information on why the Challenge is in the current state.
  1654                  type: string
  1655                state:
  1656                  description: Contains the current 'state' of the challenge. If not set, the state of the challenge is unknown.
  1657                  type: string
  1658                  enum:
  1659                    - valid
  1660                    - ready
  1661                    - pending
  1662                    - processing
  1663                    - invalid
  1664                    - expired
  1665                    - errored
  1666      served: true
  1667      storage: true
  1668      subresources:
  1669        status: {}
  1670---
  1671# Source: cert-manager/templates/crds.yaml
  1672apiVersion: apiextensions.k8s.io/v1
  1673kind: CustomResourceDefinition
  1674metadata:
  1675  name: clusterissuers.cert-manager.io
  1676  labels:
  1677    app: 'cert-manager'
  1678    app.kubernetes.io/name: 'cert-manager'
  1679    app.kubernetes.io/instance: "cert-manager"
  1680    # Generated labels
  1681    app.kubernetes.io/version: "v1.12.12"
  1682spec:
  1683  group: cert-manager.io
  1684  names:
  1685    kind: ClusterIssuer
  1686    listKind: ClusterIssuerList
  1687    plural: clusterissuers
  1688    singular: clusterissuer
  1689    categories:
  1690      - cert-manager
  1691  scope: Cluster
  1692  versions:
  1693    - name: v1
  1694      subresources:
  1695        status: {}
  1696      additionalPrinterColumns:
  1697        - jsonPath: .status.conditions[?(@.type=="Ready")].status
  1698          name: Ready
  1699          type: string
  1700        - jsonPath: .status.conditions[?(@.type=="Ready")].message
  1701          name: Status
  1702          priority: 1
  1703          type: string
  1704        - jsonPath: .metadata.creationTimestamp
  1705          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.
  1706          name: Age
  1707          type: date
  1708      schema:
  1709        openAPIV3Schema:
  1710          description: A ClusterIssuer represents a certificate issuing authority which can be referenced as part of `issuerRef` fields. It is similar to an Issuer, however it is cluster-scoped and therefore can be referenced by resources that exist in *any* namespace, not just the same namespace as the referent.
  1711          type: object
  1712          required:
  1713            - spec
  1714          properties:
  1715            apiVersion:
  1716              description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1717              type: string
  1718            kind:
  1719              description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1720              type: string
  1721            metadata:
  1722              type: object
  1723            spec:
  1724              description: Desired state of the ClusterIssuer resource.
  1725              type: object
  1726              properties:
  1727                acme:
  1728                  description: ACME configures this issuer to communicate with a RFC8555 (ACME) server to obtain signed x509 certificates.
  1729                  type: object
  1730                  required:
  1731                    - privateKeySecretRef
  1732                    - server
  1733                  properties:
  1734                    caBundle:
  1735                      description: Base64-encoded bundle of PEM CAs which can be used to validate the certificate chain presented by the ACME server. Mutually exclusive with SkipTLSVerify; prefer using CABundle to prevent various kinds of security vulnerabilities. If CABundle and SkipTLSVerify are unset, the system certificate bundle inside the container is used to validate the TLS connection.
  1736                      type: string
  1737                      format: byte
  1738                    disableAccountKeyGeneration:
  1739                      description: Enables or disables generating a new ACME account key. If true, the Issuer resource will *not* request a new account but will expect the account key to be supplied via an existing secret. If false, the cert-manager system will generate a new ACME account key for the Issuer. Defaults to false.
  1740                      type: boolean
  1741                    email:
  1742                      description: Email is the email address to be associated with the ACME account. This field is optional, but it is strongly recommended to be set. It will be used to contact you in case of issues with your account or certificates, including expiry notification emails. This field may be updated after the account is initially registered.
  1743                      type: string
  1744                    enableDurationFeature:
  1745                      description: Enables requesting a Not After date on certificates that matches the duration of the certificate. This is not supported by all ACME servers like Let's Encrypt. If set to true when the ACME server does not support it it will create an error on the Order. Defaults to false.
  1746                      type: boolean
  1747                    externalAccountBinding:
  1748                      description: ExternalAccountBinding is a reference to a CA external account of the ACME server. If set, upon registration cert-manager will attempt to associate the given external account credentials with the registered ACME account.
  1749                      type: object
  1750                      required:
  1751                        - keyID
  1752                        - keySecretRef
  1753                      properties:
  1754                        keyAlgorithm:
  1755                          description: 'Deprecated: keyAlgorithm field exists for historical compatibility reasons and should not be used. The algorithm is now hardcoded to HS256 in golang/x/crypto/acme.'
  1756                          type: string
  1757                          enum:
  1758                            - HS256
  1759                            - HS384
  1760                            - HS512
  1761                        keyID:
  1762                          description: keyID is the ID of the CA key that the External Account is bound to.
  1763                          type: string
  1764                        keySecretRef:
  1765                          description: keySecretRef is a Secret Key Selector referencing a data item in a Kubernetes Secret which holds the symmetric MAC key of the External Account Binding. The `key` is the index string that is paired with the key data in the Secret and should not be confused with the key data itself, or indeed with the External Account Binding keyID above. The secret key stored in the Secret **must** be un-padded, base64 URL encoded data.
  1766                          type: object
  1767                          required:
  1768                            - name
  1769                          properties:
  1770                            key:
  1771                              description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  1772                              type: string
  1773                            name:
  1774                              description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1775                              type: string
  1776                    preferredChain:
  1777                      description: 'PreferredChain is the chain to use if the ACME server outputs multiple. PreferredChain is no guarantee that this one gets delivered by the ACME endpoint. For example, for Let''s Encrypt''s DST crosssign you would use: "DST Root CA X3" or "ISRG Root X1" for the newer Let''s Encrypt root CA. This value picks the first certificate bundle in the ACME alternative chains that has a certificate with this value as its issuer''s CN'
  1778                      type: string
  1779                      maxLength: 64
  1780                    privateKeySecretRef:
  1781                      description: PrivateKey is the name of a Kubernetes Secret resource that will be used to store the automatically generated ACME account private key. Optionally, a `key` may be specified to select a specific entry within the named Secret resource. If `key` is not specified, a default of `tls.key` will be used.
  1782                      type: object
  1783                      required:
  1784                        - name
  1785                      properties:
  1786                        key:
  1787                          description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  1788                          type: string
  1789                        name:
  1790                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1791                          type: string
  1792                    server:
  1793                      description: 'Server is the URL used to access the ACME server''s ''directory'' endpoint. For example, for Let''s Encrypt''s staging endpoint, you would use: "https://acme-staging-v02.api.letsencrypt.org/directory". Only ACME v2 endpoints (i.e. RFC 8555) are supported.'
  1794                      type: string
  1795                    skipTLSVerify:
  1796                      description: 'INSECURE: Enables or disables validation of the ACME server TLS certificate. If true, requests to the ACME server will not have the TLS certificate chain validated. Mutually exclusive with CABundle; prefer using CABundle to prevent various kinds of security vulnerabilities. Only enable this option in development environments. If CABundle and SkipTLSVerify are unset, the system certificate bundle inside the container is used to validate the TLS connection. Defaults to false.'
  1797                      type: boolean
  1798                    solvers:
  1799                      description: 'Solvers is a list of challenge solvers that will be used to solve ACME challenges for the matching domains. Solver configurations must be provided in order to obtain certificates from an ACME server. For more information, see: https://cert-manager.io/docs/configuration/acme/'
  1800                      type: array
  1801                      items:
  1802                        description: An ACMEChallengeSolver describes how to solve ACME challenges for the issuer it is part of. A selector may be provided to use different solving strategies for different DNS names. Only one of HTTP01 or DNS01 must be provided.
  1803                        type: object
  1804                        properties:
  1805                          dns01:
  1806                            description: Configures cert-manager to attempt to complete authorizations by performing the DNS01 challenge flow.
  1807                            type: object
  1808                            properties:
  1809                              acmeDNS:
  1810                                description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns) API to manage DNS01 challenge records.
  1811                                type: object
  1812                                required:
  1813                                  - accountSecretRef
  1814                                  - host
  1815                                properties:
  1816                                  accountSecretRef:
  1817                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  1818                                    type: object
  1819                                    required:
  1820                                      - name
  1821                                    properties:
  1822                                      key:
  1823                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  1824                                        type: string
  1825                                      name:
  1826                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1827                                        type: string
  1828                                  host:
  1829                                    type: string
  1830                              akamai:
  1831                                description: Use the Akamai DNS zone management API to manage DNS01 challenge records.
  1832                                type: object
  1833                                required:
  1834                                  - accessTokenSecretRef
  1835                                  - clientSecretSecretRef
  1836                                  - clientTokenSecretRef
  1837                                  - serviceConsumerDomain
  1838                                properties:
  1839                                  accessTokenSecretRef:
  1840                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  1841                                    type: object
  1842                                    required:
  1843                                      - name
  1844                                    properties:
  1845                                      key:
  1846                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  1847                                        type: string
  1848                                      name:
  1849                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1850                                        type: string
  1851                                  clientSecretSecretRef:
  1852                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  1853                                    type: object
  1854                                    required:
  1855                                      - name
  1856                                    properties:
  1857                                      key:
  1858                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  1859                                        type: string
  1860                                      name:
  1861                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1862                                        type: string
  1863                                  clientTokenSecretRef:
  1864                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  1865                                    type: object
  1866                                    required:
  1867                                      - name
  1868                                    properties:
  1869                                      key:
  1870                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  1871                                        type: string
  1872                                      name:
  1873                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1874                                        type: string
  1875                                  serviceConsumerDomain:
  1876                                    type: string
  1877                              azureDNS:
  1878                                description: Use the Microsoft Azure DNS API to manage DNS01 challenge records.
  1879                                type: object
  1880                                required:
  1881                                  - resourceGroupName
  1882                                  - subscriptionID
  1883                                properties:
  1884                                  clientID:
  1885                                    description: if both this and ClientSecret are left unset MSI will be used
  1886                                    type: string
  1887                                  clientSecretSecretRef:
  1888                                    description: if both this and ClientID are left unset MSI will be used
  1889                                    type: object
  1890                                    required:
  1891                                      - name
  1892                                    properties:
  1893                                      key:
  1894                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  1895                                        type: string
  1896                                      name:
  1897                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1898                                        type: string
  1899                                  environment:
  1900                                    description: name of the Azure environment (default AzurePublicCloud)
  1901                                    type: string
  1902                                    enum:
  1903                                      - AzurePublicCloud
  1904                                      - AzureChinaCloud
  1905                                      - AzureGermanCloud
  1906                                      - AzureUSGovernmentCloud
  1907                                  hostedZoneName:
  1908                                    description: name of the DNS zone that should be used
  1909                                    type: string
  1910                                  managedIdentity:
  1911                                    description: managed identity configuration, can not be used at the same time as clientID, clientSecretSecretRef or tenantID
  1912                                    type: object
  1913                                    properties:
  1914                                      clientID:
  1915                                        description: client ID of the managed identity, can not be used at the same time as resourceID
  1916                                        type: string
  1917                                      resourceID:
  1918                                        description: resource ID of the managed identity, can not be used at the same time as clientID
  1919                                        type: string
  1920                                  resourceGroupName:
  1921                                    description: resource group the DNS zone is located in
  1922                                    type: string
  1923                                  subscriptionID:
  1924                                    description: ID of the Azure subscription
  1925                                    type: string
  1926                                  tenantID:
  1927                                    description: when specifying ClientID and ClientSecret then this field is also needed
  1928                                    type: string
  1929                              cloudDNS:
  1930                                description: Use the Google Cloud DNS API to manage DNS01 challenge records.
  1931                                type: object
  1932                                required:
  1933                                  - project
  1934                                properties:
  1935                                  hostedZoneName:
  1936                                    description: HostedZoneName is an optional field that tells cert-manager in which Cloud DNS zone the challenge record has to be created. If left empty cert-manager will automatically choose a zone.
  1937                                    type: string
  1938                                  project:
  1939                                    type: string
  1940                                  serviceAccountSecretRef:
  1941                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  1942                                    type: object
  1943                                    required:
  1944                                      - name
  1945                                    properties:
  1946                                      key:
  1947                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  1948                                        type: string
  1949                                      name:
  1950                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1951                                        type: string
  1952                              cloudflare:
  1953                                description: Use the Cloudflare API to manage DNS01 challenge records.
  1954                                type: object
  1955                                properties:
  1956                                  apiKeySecretRef:
  1957                                    description: 'API key to use to authenticate with Cloudflare. Note: using an API token to authenticate is now the recommended method as it allows greater control of permissions.'
  1958                                    type: object
  1959                                    required:
  1960                                      - name
  1961                                    properties:
  1962                                      key:
  1963                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  1964                                        type: string
  1965                                      name:
  1966                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1967                                        type: string
  1968                                  apiTokenSecretRef:
  1969                                    description: API token used to authenticate with Cloudflare.
  1970                                    type: object
  1971                                    required:
  1972                                      - name
  1973                                    properties:
  1974                                      key:
  1975                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  1976                                        type: string
  1977                                      name:
  1978                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1979                                        type: string
  1980                                  email:
  1981                                    description: Email of the account, only required when using API key based authentication.
  1982                                    type: string
  1983                              cnameStrategy:
  1984                                description: CNAMEStrategy configures how the DNS01 provider should handle CNAME records when found in DNS zones.
  1985                                type: string
  1986                                enum:
  1987                                  - None
  1988                                  - Follow
  1989                              digitalocean:
  1990                                description: Use the DigitalOcean DNS API to manage DNS01 challenge records.
  1991                                type: object
  1992                                required:
  1993                                  - tokenSecretRef
  1994                                properties:
  1995                                  tokenSecretRef:
  1996                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  1997                                    type: object
  1998                                    required:
  1999                                      - name
  2000                                    properties:
  2001                                      key:
  2002                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  2003                                        type: string
  2004                                      name:
  2005                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2006                                        type: string
  2007                              rfc2136:
  2008                                description: Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/) to manage DNS01 challenge records.
  2009                                type: object
  2010                                required:
  2011                                  - nameserver
  2012                                properties:
  2013                                  nameserver:
  2014                                    description: The IP address or hostname of an authoritative DNS server supporting RFC2136 in the form host:port. If the host is an IPv6 address it must be enclosed in square brackets (e.g [2001:db8::1]) ; port is optional. This field is required.
  2015                                    type: string
  2016                                  tsigAlgorithm:
  2017                                    description: 'The TSIG Algorithm configured in the DNS supporting RFC2136. Used only when ``tsigSecretSecretRef`` and ``tsigKeyName`` are defined. Supported values are (case-insensitive): ``HMACMD5`` (default), ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.'
  2018                                    type: string
  2019                                  tsigKeyName:
  2020                                    description: The TSIG Key name configured in the DNS. If ``tsigSecretSecretRef`` is defined, this field is required.
  2021                                    type: string
  2022                                  tsigSecretSecretRef:
  2023                                    description: The name of the secret containing the TSIG value. If ``tsigKeyName`` is defined, this field is required.
  2024                                    type: object
  2025                                    required:
  2026                                      - name
  2027                                    properties:
  2028                                      key:
  2029                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  2030                                        type: string
  2031                                      name:
  2032                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2033                                        type: string
  2034                              route53:
  2035                                description: Use the AWS Route53 API to manage DNS01 challenge records.
  2036                                type: object
  2037                                required:
  2038                                  - region
  2039                                properties:
  2040                                  accessKeyID:
  2041                                    description: 'The AccessKeyID is used for authentication. Cannot be set when SecretAccessKeyID is set. If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  2042                                    type: string
  2043                                  accessKeyIDSecretRef:
  2044                                    description: 'The SecretAccessKey is used for authentication. If set, pull the AWS access key ID from a key within a Kubernetes Secret. Cannot be set when AccessKeyID is set. If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  2045                                    type: object
  2046                                    required:
  2047                                      - name
  2048                                    properties:
  2049                                      key:
  2050                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  2051                                        type: string
  2052                                      name:
  2053                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2054                                        type: string
  2055                                  hostedZoneID:
  2056                                    description: If set, the provider will manage only this zone in Route53 and will not do an lookup using the route53:ListHostedZonesByName api call.
  2057                                    type: string
  2058                                  region:
  2059                                    description: Always set the region when using AccessKeyID and SecretAccessKey
  2060                                    type: string
  2061                                  role:
  2062                                    description: Role is a Role ARN which the Route53 provider will assume using either the explicit credentials AccessKeyID/SecretAccessKey or the inferred credentials from environment variables, shared credentials file or AWS Instance metadata
  2063                                    type: string
  2064                                  secretAccessKeySecretRef:
  2065                                    description: 'The SecretAccessKey is used for authentication. If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  2066                                    type: object
  2067                                    required:
  2068                                      - name
  2069                                    properties:
  2070                                      key:
  2071                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  2072                                        type: string
  2073                                      name:
  2074                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2075                                        type: string
  2076                              webhook:
  2077                                description: Configure an external webhook based DNS01 challenge solver to manage DNS01 challenge records.
  2078                                type: object
  2079                                required:
  2080                                  - groupName
  2081                                  - solverName
  2082                                properties:
  2083                                  config:
  2084                                    description: Additional configuration that should be passed to the webhook apiserver when challenges are processed. This can contain arbitrary JSON data. Secret values should not be specified in this stanza. If secret values are needed (e.g. credentials for a DNS service), you should use a SecretKeySelector to reference a Secret resource. For details on the schema of this field, consult the webhook provider implementation's documentation.
  2085                                    x-kubernetes-preserve-unknown-fields: true
  2086                                  groupName:
  2087                                    description: The API group name that should be used when POSTing ChallengePayload resources to the webhook apiserver. This should be the same as the GroupName specified in the webhook provider implementation.
  2088                                    type: string
  2089                                  solverName:
  2090                                    description: The name of the solver to use, as defined in the webhook provider implementation. This will typically be the name of the provider, e.g. 'cloudflare'.
  2091                                    type: string
  2092                          http01:
  2093                            description: Configures cert-manager to attempt to complete authorizations by performing the HTTP01 challenge flow. It is not possible to obtain certificates for wildcard domain names (e.g. `*.example.com`) using the HTTP01 challenge mechanism.
  2094                            type: object
  2095                            properties:
  2096                              gatewayHTTPRoute:
  2097                                description: The Gateway API is a sig-network community API that models service networking in Kubernetes (https://gateway-api.sigs.k8s.io/). The Gateway solver will create HTTPRoutes with the specified labels in the same namespace as the challenge. This solver is experimental, and fields / behaviour may change in the future.
  2098                                type: object
  2099                                properties:
  2100                                  labels:
  2101                                    description: Custom labels that will be applied to HTTPRoutes created by cert-manager while solving HTTP-01 challenges.
  2102                                    type: object
  2103                                    additionalProperties:
  2104                                      type: string
  2105                                  parentRefs:
  2106                                    description: 'When solving an HTTP-01 challenge, cert-manager creates an HTTPRoute. cert-manager needs to know which parentRefs should be used when creating the HTTPRoute. Usually, the parentRef references a Gateway. See: https://gateway-api.sigs.k8s.io/api-types/httproute/#attaching-to-gateways'
  2107                                    type: array
  2108                                    items:
  2109                                      description: "ParentReference identifies an API object (usually a Gateway) that can be considered a parent of this resource (usually a route). The only kind of parent resource with \"Core\" support is Gateway. This API may be extended in the future to support additional kinds of parent resources, such as HTTPRoute. \n The API object must be valid in the cluster; the Group and Kind must be registered in the cluster for this reference to be valid."
  2110                                      type: object
  2111                                      required:
  2112                                        - name
  2113                                      properties:
  2114                                        group:
  2115                                          description: "Group is the group of the referent. When unspecified, \"gateway.networking.k8s.io\" is inferred. To set the core API group (such as for a \"Service\" kind referent), Group must be explicitly set to \"\" (empty string). \n Support: Core"
  2116                                          type: string
  2117                                          default: gateway.networking.k8s.io
  2118                                          maxLength: 253
  2119                                          pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  2120                                        kind:
  2121                                          description: "Kind is kind of the referent. \n Support: Core (Gateway) \n Support: Implementation-specific (Other Resources)"
  2122                                          type: string
  2123                                          default: Gateway
  2124                                          maxLength: 63
  2125                                          minLength: 1
  2126                                          pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
  2127                                        name:
  2128                                          description: "Name is the name of the referent. \n Support: Core"
  2129                                          type: string
  2130                                          maxLength: 253
  2131                                          minLength: 1
  2132                                        namespace:
  2133                                          description: "Namespace is the namespace of the referent. When unspecified, this refers to the local namespace of the Route. \n Note that there are specific rules for ParentRefs which cross namespace boundaries. Cross-namespace references are only valid if they are explicitly allowed by something in the namespace they are referring to. For example: Gateway has the AllowedRoutes field, and ReferenceGrant provides a generic way to enable any other kind of cross-namespace reference. \n Support: Core"
  2134                                          type: string
  2135                                          maxLength: 63
  2136                                          minLength: 1
  2137                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  2138                                        port:
  2139                                          description: "Port is the network port this Route targets. It can be interpreted differently based on the type of parent resource. \n When the parent resource is a Gateway, this targets all listeners listening on the specified port that also support this kind of Route(and select this Route). It's not recommended to set `Port` unless the networking behaviors specified in a Route must apply to a specific port as opposed to a listener(s) whose port(s) may be changed. When both Port and SectionName are specified, the name and port of the selected listener must match both specified values. \n Implementations MAY choose to support other parent resources. Implementations supporting other types of parent resources MUST clearly document how/if Port is interpreted. \n For the purpose of status, an attachment is considered successful as long as the parent resource accepts it partially. For example, Gateway listeners can restrict which Routes can attach to them by Route kind, namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from the referencing Route, the Route MUST be considered successfully attached. If no Gateway listeners accept attachment from this Route, the Route MUST be considered detached from the Gateway. \n Support: Extended \n <gateway:experimental>"
  2140                                          type: integer
  2141                                          format: int32
  2142                                          maximum: 65535
  2143                                          minimum: 1
  2144                                        sectionName:
  2145                                          description: "SectionName is the name of a section within the target resource. In the following resources, SectionName is interpreted as the following: \n * Gateway: Listener Name. When both Port (experimental) and SectionName are specified, the name and port of the selected listener must match both specified values. \n Implementations MAY choose to support attaching Routes to other resources. If that is the case, they MUST clearly document how SectionName is interpreted. \n When unspecified (empty string), this will reference the entire resource. For the purpose of status, an attachment is considered successful if at least one section in the parent resource accepts it. For example, Gateway listeners can restrict which Routes can attach to them by Route kind, namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from the referencing Route, the Route MUST be considered successfully attached. If no Gateway listeners accept attachment from this Route, the Route MUST be considered detached from the Gateway. \n Support: Core"
  2146                                          type: string
  2147                                          maxLength: 253
  2148                                          minLength: 1
  2149                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  2150                                  serviceType:
  2151                                    description: Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort.
  2152                                    type: string
  2153                              ingress:
  2154                                description: The ingress based HTTP01 challenge solver will solve challenges by creating or modifying Ingress resources in order to route requests for '/.well-known/acme-challenge/XYZ' to 'challenge solver' pods that are provisioned by cert-manager for each Challenge to be completed.
  2155                                type: object
  2156                                properties:
  2157                                  class:
  2158                                    description: This field configures the annotation `kubernetes.io/ingress.class` when creating Ingress resources to solve ACME challenges that use this challenge solver. Only one of `class`, `name` or `ingressClassName` may be specified.
  2159                                    type: string
  2160                                  ingressClassName:
  2161                                    description: This field configures the field `ingressClassName` on the created Ingress resources used to solve ACME challenges that use this challenge solver. This is the recommended way of configuring the ingress class. Only one of `class`, `name` or `ingressClassName` may be specified.
  2162                                    type: string
  2163                                  ingressTemplate:
  2164                                    description: Optional ingress template used to configure the ACME challenge solver ingress used for HTTP01 challenges.
  2165                                    type: object
  2166                                    properties:
  2167                                      metadata:
  2168                                        description: ObjectMeta overrides for the ingress used to solve HTTP01 challenges. Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values.
  2169                                        type: object
  2170                                        properties:
  2171                                          annotations:
  2172                                            description: Annotations that should be added to the created ACME HTTP01 solver ingress.
  2173                                            type: object
  2174                                            additionalProperties:
  2175                                              type: string
  2176                                          labels:
  2177                                            description: Labels that should be added to the created ACME HTTP01 solver ingress.
  2178                                            type: object
  2179                                            additionalProperties:
  2180                                              type: string
  2181                                  name:
  2182                                    description: The name of the ingress resource that should have ACME challenge solving routes inserted into it in order to solve HTTP01 challenges. This is typically used in conjunction with ingress controllers like ingress-gce, which maintains a 1:1 mapping between external IPs and ingress resources. Only one of `class`, `name` or `ingressClassName` may be specified.
  2183                                    type: string
  2184                                  podTemplate:
  2185                                    description: Optional pod template used to configure the ACME challenge solver pods used for HTTP01 challenges.
  2186                                    type: object
  2187                                    properties:
  2188                                      metadata:
  2189                                        description: ObjectMeta overrides for the pod used to solve HTTP01 challenges. Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values.
  2190                                        type: object
  2191                                        properties:
  2192                                          annotations:
  2193                                            description: Annotations that should be added to the create ACME HTTP01 solver pods.
  2194                                            type: object
  2195                                            additionalProperties:
  2196                                              type: string
  2197                                          labels:
  2198                                            description: Labels that should be added to the created ACME HTTP01 solver pods.
  2199                                            type: object
  2200                                            additionalProperties:
  2201                                              type: string
  2202                                      spec:
  2203                                        description: PodSpec defines overrides for the HTTP01 challenge solver pod. Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields. All other fields will be ignored.
  2204                                        type: object
  2205                                        properties:
  2206                                          affinity:
  2207                                            description: If specified, the pod's scheduling constraints
  2208                                            type: object
  2209                                            properties:
  2210                                              nodeAffinity:
  2211                                                description: Describes node affinity scheduling rules for the pod.
  2212                                                type: object
  2213                                                properties:
  2214                                                  preferredDuringSchedulingIgnoredDuringExecution:
  2215                                                    description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
  2216                                                    type: array
  2217                                                    items:
  2218                                                      description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  2219                                                      type: object
  2220                                                      required:
  2221                                                        - preference
  2222                                                        - weight
  2223                                                      properties:
  2224                                                        preference:
  2225                                                          description: A node selector term, associated with the corresponding weight.
  2226                                                          type: object
  2227                                                          properties:
  2228                                                            matchExpressions:
  2229                                                              description: A list of node selector requirements by node's labels.
  2230                                                              type: array
  2231                                                              items:
  2232                                                                description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2233                                                                type: object
  2234                                                                required:
  2235                                                                  - key
  2236                                                                  - operator
  2237                                                                properties:
  2238                                                                  key:
  2239                                                                    description: The label key that the selector applies to.
  2240                                                                    type: string
  2241                                                                  operator:
  2242                                                                    description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  2243                                                                    type: string
  2244                                                                  values:
  2245                                                                    description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  2246                                                                    type: array
  2247                                                                    items:
  2248                                                                      type: string
  2249                                                            matchFields:
  2250                                                              description: A list of node selector requirements by node's fields.
  2251                                                              type: array
  2252                                                              items:
  2253                                                                description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2254                                                                type: object
  2255                                                                required:
  2256                                                                  - key
  2257                                                                  - operator
  2258                                                                properties:
  2259                                                                  key:
  2260                                                                    description: The label key that the selector applies to.
  2261                                                                    type: string
  2262                                                                  operator:
  2263                                                                    description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  2264                                                                    type: string
  2265                                                                  values:
  2266                                                                    description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  2267                                                                    type: array
  2268                                                                    items:
  2269                                                                      type: string
  2270                                                          x-kubernetes-map-type: atomic
  2271                                                        weight:
  2272                                                          description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  2273                                                          type: integer
  2274                                                          format: int32
  2275                                                  requiredDuringSchedulingIgnoredDuringExecution:
  2276                                                    description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
  2277                                                    type: object
  2278                                                    required:
  2279                                                      - nodeSelectorTerms
  2280                                                    properties:
  2281                                                      nodeSelectorTerms:
  2282                                                        description: Required. A list of node selector terms. The terms are ORed.
  2283                                                        type: array
  2284                                                        items:
  2285                                                          description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  2286                                                          type: object
  2287                                                          properties:
  2288                                                            matchExpressions:
  2289                                                              description: A list of node selector requirements by node's labels.
  2290                                                              type: array
  2291                                                              items:
  2292                                                                description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2293                                                                type: object
  2294                                                                required:
  2295                                                                  - key
  2296                                                                  - operator
  2297                                                                properties:
  2298                                                                  key:
  2299                                                                    description: The label key that the selector applies to.
  2300                                                                    type: string
  2301                                                                  operator:
  2302                                                                    description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  2303                                                                    type: string
  2304                                                                  values:
  2305                                                                    description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  2306                                                                    type: array
  2307                                                                    items:
  2308                                                                      type: string
  2309                                                            matchFields:
  2310                                                              description: A list of node selector requirements by node's fields.
  2311                                                              type: array
  2312                                                              items:
  2313                                                                description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2314                                                                type: object
  2315                                                                required:
  2316                                                                  - key
  2317                                                                  - operator
  2318                                                                properties:
  2319                                                                  key:
  2320                                                                    description: The label key that the selector applies to.
  2321                                                                    type: string
  2322                                                                  operator:
  2323                                                                    description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  2324                                                                    type: string
  2325                                                                  values:
  2326                                                                    description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  2327                                                                    type: array
  2328                                                                    items:
  2329                                                                      type: string
  2330                                                          x-kubernetes-map-type: atomic
  2331                                                    x-kubernetes-map-type: atomic
  2332                                              podAffinity:
  2333                                                description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
  2334                                                type: object
  2335                                                properties:
  2336                                                  preferredDuringSchedulingIgnoredDuringExecution:
  2337                                                    description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
  2338                                                    type: array
  2339                                                    items:
  2340                                                      description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
  2341                                                      type: object
  2342                                                      required:
  2343                                                        - podAffinityTerm
  2344                                                        - weight
  2345                                                      properties:
  2346                                                        podAffinityTerm:
  2347                                                          description: Required. A pod affinity term, associated with the corresponding weight.
  2348                                                          type: object
  2349                                                          required:
  2350                                                            - topologyKey
  2351                                                          properties:
  2352                                                            labelSelector:
  2353                                                              description: A label query over a set of resources, in this case pods.
  2354                                                              type: object
  2355                                                              properties:
  2356                                                                matchExpressions:
  2357                                                                  description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2358                                                                  type: array
  2359                                                                  items:
  2360                                                                    description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2361                                                                    type: object
  2362                                                                    required:
  2363                                                                      - key
  2364                                                                      - operator
  2365                                                                    properties:
  2366                                                                      key:
  2367                                                                        description: key is the label key that the selector applies to.
  2368                                                                        type: string
  2369                                                                      operator:
  2370                                                                        description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  2371                                                                        type: string
  2372                                                                      values:
  2373                                                                        description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  2374                                                                        type: array
  2375                                                                        items:
  2376                                                                          type: string
  2377                                                                matchLabels:
  2378                                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  2379                                                                  type: object
  2380                                                                  additionalProperties:
  2381                                                                    type: string
  2382                                                              x-kubernetes-map-type: atomic
  2383                                                            namespaceSelector:
  2384                                                              description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  2385                                                              type: object
  2386                                                              properties:
  2387                                                                matchExpressions:
  2388                                                                  description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2389                                                                  type: array
  2390                                                                  items:
  2391                                                                    description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2392                                                                    type: object
  2393                                                                    required:
  2394                                                                      - key
  2395                                                                      - operator
  2396                                                                    properties:
  2397                                                                      key:
  2398                                                                        description: key is the label key that the selector applies to.
  2399                                                                        type: string
  2400                                                                      operator:
  2401                                                                        description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  2402                                                                        type: string
  2403                                                                      values:
  2404                                                                        description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  2405                                                                        type: array
  2406                                                                        items:
  2407                                                                          type: string
  2408                                                                matchLabels:
  2409                                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  2410                                                                  type: object
  2411                                                                  additionalProperties:
  2412                                                                    type: string
  2413                                                              x-kubernetes-map-type: atomic
  2414                                                            namespaces:
  2415                                                              description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  2416                                                              type: array
  2417                                                              items:
  2418                                                                type: string
  2419                                                            topologyKey:
  2420                                                              description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  2421                                                              type: string
  2422                                                        weight:
  2423                                                          description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  2424                                                          type: integer
  2425                                                          format: int32
  2426                                                  requiredDuringSchedulingIgnoredDuringExecution:
  2427                                                    description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
  2428                                                    type: array
  2429                                                    items:
  2430                                                      description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
  2431                                                      type: object
  2432                                                      required:
  2433                                                        - topologyKey
  2434                                                      properties:
  2435                                                        labelSelector:
  2436                                                          description: A label query over a set of resources, in this case pods.
  2437                                                          type: object
  2438                                                          properties:
  2439                                                            matchExpressions:
  2440                                                              description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2441                                                              type: array
  2442                                                              items:
  2443                                                                description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2444                                                                type: object
  2445                                                                required:
  2446                                                                  - key
  2447                                                                  - operator
  2448                                                                properties:
  2449                                                                  key:
  2450                                                                    description: key is the label key that the selector applies to.
  2451                                                                    type: string
  2452                                                                  operator:
  2453                                                                    description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  2454                                                                    type: string
  2455                                                                  values:
  2456                                                                    description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  2457                                                                    type: array
  2458                                                                    items:
  2459                                                                      type: string
  2460                                                            matchLabels:
  2461                                                              description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  2462                                                              type: object
  2463                                                              additionalProperties:
  2464                                                                type: string
  2465                                                          x-kubernetes-map-type: atomic
  2466                                                        namespaceSelector:
  2467                                                          description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  2468                                                          type: object
  2469                                                          properties:
  2470                                                            matchExpressions:
  2471                                                              description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2472                                                              type: array
  2473                                                              items:
  2474                                                                description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2475                                                                type: object
  2476                                                                required:
  2477                                                                  - key
  2478                                                                  - operator
  2479                                                                properties:
  2480                                                                  key:
  2481                                                                    description: key is the label key that the selector applies to.
  2482                                                                    type: string
  2483                                                                  operator:
  2484                                                                    description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  2485                                                                    type: string
  2486                                                                  values:
  2487                                                                    description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  2488                                                                    type: array
  2489                                                                    items:
  2490                                                                      type: string
  2491                                                            matchLabels:
  2492                                                              description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  2493                                                              type: object
  2494                                                              additionalProperties:
  2495                                                                type: string
  2496                                                          x-kubernetes-map-type: atomic
  2497                                                        namespaces:
  2498                                                          description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  2499                                                          type: array
  2500                                                          items:
  2501                                                            type: string
  2502                                                        topologyKey:
  2503                                                          description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  2504                                                          type: string
  2505                                              podAntiAffinity:
  2506                                                description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
  2507                                                type: object
  2508                                                properties:
  2509                                                  preferredDuringSchedulingIgnoredDuringExecution:
  2510                                                    description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
  2511                                                    type: array
  2512                                                    items:
  2513                                                      description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
  2514                                                      type: object
  2515                                                      required:
  2516                                                        - podAffinityTerm
  2517                                                        - weight
  2518                                                      properties:
  2519                                                        podAffinityTerm:
  2520                                                          description: Required. A pod affinity term, associated with the corresponding weight.
  2521                                                          type: object
  2522                                                          required:
  2523                                                            - topologyKey
  2524                                                          properties:
  2525                                                            labelSelector:
  2526                                                              description: A label query over a set of resources, in this case pods.
  2527                                                              type: object
  2528                                                              properties:
  2529                                                                matchExpressions:
  2530                                                                  description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2531                                                                  type: array
  2532                                                                  items:
  2533                                                                    description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2534                                                                    type: object
  2535                                                                    required:
  2536                                                                      - key
  2537                                                                      - operator
  2538                                                                    properties:
  2539                                                                      key:
  2540                                                                        description: key is the label key that the selector applies to.
  2541                                                                        type: string
  2542                                                                      operator:
  2543                                                                        description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  2544                                                                        type: string
  2545                                                                      values:
  2546                                                                        description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  2547                                                                        type: array
  2548                                                                        items:
  2549                                                                          type: string
  2550                                                                matchLabels:
  2551                                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  2552                                                                  type: object
  2553                                                                  additionalProperties:
  2554                                                                    type: string
  2555                                                              x-kubernetes-map-type: atomic
  2556                                                            namespaceSelector:
  2557                                                              description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  2558                                                              type: object
  2559                                                              properties:
  2560                                                                matchExpressions:
  2561                                                                  description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2562                                                                  type: array
  2563                                                                  items:
  2564                                                                    description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2565                                                                    type: object
  2566                                                                    required:
  2567                                                                      - key
  2568                                                                      - operator
  2569                                                                    properties:
  2570                                                                      key:
  2571                                                                        description: key is the label key that the selector applies to.
  2572                                                                        type: string
  2573                                                                      operator:
  2574                                                                        description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  2575                                                                        type: string
  2576                                                                      values:
  2577                                                                        description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  2578                                                                        type: array
  2579                                                                        items:
  2580                                                                          type: string
  2581                                                                matchLabels:
  2582                                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  2583                                                                  type: object
  2584                                                                  additionalProperties:
  2585                                                                    type: string
  2586                                                              x-kubernetes-map-type: atomic
  2587                                                            namespaces:
  2588                                                              description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  2589                                                              type: array
  2590                                                              items:
  2591                                                                type: string
  2592                                                            topologyKey:
  2593                                                              description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  2594                                                              type: string
  2595                                                        weight:
  2596                                                          description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  2597                                                          type: integer
  2598                                                          format: int32
  2599                                                  requiredDuringSchedulingIgnoredDuringExecution:
  2600                                                    description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
  2601                                                    type: array
  2602                                                    items:
  2603                                                      description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
  2604                                                      type: object
  2605                                                      required:
  2606                                                        - topologyKey
  2607                                                      properties:
  2608                                                        labelSelector:
  2609                                                          description: A label query over a set of resources, in this case pods.
  2610                                                          type: object
  2611                                                          properties:
  2612                                                            matchExpressions:
  2613                                                              description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2614                                                              type: array
  2615                                                              items:
  2616                                                                description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2617                                                                type: object
  2618                                                                required:
  2619                                                                  - key
  2620                                                                  - operator
  2621                                                                properties:
  2622                                                                  key:
  2623                                                                    description: key is the label key that the selector applies to.
  2624                                                                    type: string
  2625                                                                  operator:
  2626                                                                    description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  2627                                                                    type: string
  2628                                                                  values:
  2629                                                                    description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  2630                                                                    type: array
  2631                                                                    items:
  2632                                                                      type: string
  2633                                                            matchLabels:
  2634                                                              description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  2635                                                              type: object
  2636                                                              additionalProperties:
  2637                                                                type: string
  2638                                                          x-kubernetes-map-type: atomic
  2639                                                        namespaceSelector:
  2640                                                          description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  2641                                                          type: object
  2642                                                          properties:
  2643                                                            matchExpressions:
  2644                                                              description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  2645                                                              type: array
  2646                                                              items:
  2647                                                                description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  2648                                                                type: object
  2649                                                                required:
  2650                                                                  - key
  2651                                                                  - operator
  2652                                                                properties:
  2653                                                                  key:
  2654                                                                    description: key is the label key that the selector applies to.
  2655                                                                    type: string
  2656                                                                  operator:
  2657                                                                    description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  2658                                                                    type: string
  2659                                                                  values:
  2660                                                                    description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  2661                                                                    type: array
  2662                                                                    items:
  2663                                                                      type: string
  2664                                                            matchLabels:
  2665                                                              description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  2666                                                              type: object
  2667                                                              additionalProperties:
  2668                                                                type: string
  2669                                                          x-kubernetes-map-type: atomic
  2670                                                        namespaces:
  2671                                                          description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  2672                                                          type: array
  2673                                                          items:
  2674                                                            type: string
  2675                                                        topologyKey:
  2676                                                          description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  2677                                                          type: string
  2678                                          imagePullSecrets:
  2679                                            description: If specified, the pod's imagePullSecrets
  2680                                            type: array
  2681                                            items:
  2682                                              description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
  2683                                              type: object
  2684                                              properties:
  2685                                                name:
  2686                                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  2687                                                  type: string
  2688                                              x-kubernetes-map-type: atomic
  2689                                          nodeSelector:
  2690                                            description: 'NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node''s labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  2691                                            type: object
  2692                                            additionalProperties:
  2693                                              type: string
  2694                                          priorityClassName:
  2695                                            description: If specified, the pod's priorityClassName.
  2696                                            type: string
  2697                                          serviceAccountName:
  2698                                            description: If specified, the pod's service account
  2699                                            type: string
  2700                                          tolerations:
  2701                                            description: If specified, the pod's tolerations.
  2702                                            type: array
  2703                                            items:
  2704                                              description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
  2705                                              type: object
  2706                                              properties:
  2707                                                effect:
  2708                                                  description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  2709                                                  type: string
  2710                                                key:
  2711                                                  description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  2712                                                  type: string
  2713                                                operator:
  2714                                                  description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
  2715                                                  type: string
  2716                                                tolerationSeconds:
  2717                                                  description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
  2718                                                  type: integer
  2719                                                  format: int64
  2720                                                value:
  2721                                                  description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
  2722                                                  type: string
  2723                                  serviceType:
  2724                                    description: Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort.
  2725                                    type: string
  2726                          selector:
  2727                            description: Selector selects a set of DNSNames on the Certificate resource that should be solved using this challenge solver. If not specified, the solver will be treated as the 'default' solver with the lowest priority, i.e. if any other solver has a more specific match, it will be used instead.
  2728                            type: object
  2729                            properties:
  2730                              dnsNames:
  2731                                description: List of DNSNames that this solver will be used to solve. If specified and a match is found, a dnsNames selector will take precedence over a dnsZones selector. If multiple solvers match with the same dnsNames value, the solver with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected.
  2732                                type: array
  2733                                items:
  2734                                  type: string
  2735                              dnsZones:
  2736                                description: List of DNSZones that this solver will be used to solve. The most specific DNS zone match specified here will take precedence over other DNS zone matches, so a solver specifying sys.example.com will be selected over one specifying example.com for the domain www.sys.example.com. If multiple solvers match with the same dnsZones value, the solver with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected.
  2737                                type: array
  2738                                items:
  2739                                  type: string
  2740                              matchLabels:
  2741                                description: A label selector that is used to refine the set of certificate's that this challenge solver will apply to.
  2742                                type: object
  2743                                additionalProperties:
  2744                                  type: string
  2745                ca:
  2746                  description: CA configures this issuer to sign certificates using a signing CA keypair stored in a Secret resource. This is used to build internal PKIs that are managed by cert-manager.
  2747                  type: object
  2748                  required:
  2749                    - secretName
  2750                  properties:
  2751                    crlDistributionPoints:
  2752                      description: The CRL distribution points is an X.509 v3 certificate extension which identifies the location of the CRL from which the revocation of this certificate can be checked. If not set, certificates will be issued without distribution points set.
  2753                      type: array
  2754                      items:
  2755                        type: string
  2756                    ocspServers:
  2757                      description: The OCSP server list is an X.509 v3 extension that defines a list of URLs of OCSP responders. The OCSP responders can be queried for the revocation status of an issued certificate. If not set, the certificate will be issued with no OCSP servers set. For example, an OCSP server URL could be "http://ocsp.int-x3.letsencrypt.org".
  2758                      type: array
  2759                      items:
  2760                        type: string
  2761                    secretName:
  2762                      description: SecretName is the name of the secret used to sign Certificates issued by this Issuer.
  2763                      type: string
  2764                selfSigned:
  2765                  description: SelfSigned configures this issuer to 'self sign' certificates using the private key used to create the CertificateRequest object.
  2766                  type: object
  2767                  properties:
  2768                    crlDistributionPoints:
  2769                      description: The CRL distribution points is an X.509 v3 certificate extension which identifies the location of the CRL from which the revocation of this certificate can be checked. If not set certificate will be issued without CDP. Values are strings.
  2770                      type: array
  2771                      items:
  2772                        type: string
  2773                vault:
  2774                  description: Vault configures this issuer to sign certificates using a HashiCorp Vault PKI backend.
  2775                  type: object
  2776                  required:
  2777                    - auth
  2778                    - path
  2779                    - server
  2780                  properties:
  2781                    auth:
  2782                      description: Auth configures how cert-manager authenticates with the Vault server.
  2783                      type: object
  2784                      properties:
  2785                        appRole:
  2786                          description: AppRole authenticates with Vault using the App Role auth mechanism, with the role and secret stored in a Kubernetes Secret resource.
  2787                          type: object
  2788                          required:
  2789                            - path
  2790                            - roleId
  2791                            - secretRef
  2792                          properties:
  2793                            path:
  2794                              description: 'Path where the App Role authentication backend is mounted in Vault, e.g: "approle"'
  2795                              type: string
  2796                            roleId:
  2797                              description: RoleID configured in the App Role authentication backend when setting up the authentication backend in Vault.
  2798                              type: string
  2799                            secretRef:
  2800                              description: Reference to a key in a Secret that contains the App Role secret used to authenticate with Vault. The `key` field must be specified and denotes which entry within the Secret resource is used as the app role secret.
  2801                              type: object
  2802                              required:
  2803                                - name
  2804                              properties:
  2805                                key:
  2806                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  2807                                  type: string
  2808                                name:
  2809                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2810                                  type: string
  2811                        kubernetes:
  2812                          description: Kubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server.
  2813                          type: object
  2814                          required:
  2815                            - role
  2816                          properties:
  2817                            mountPath:
  2818                              description: The Vault mountPath here is the mount path to use when authenticating with Vault. For example, setting a value to `/v1/auth/foo`, will use the path `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the default value "/v1/auth/kubernetes" will be used.
  2819                              type: string
  2820                            role:
  2821                              description: A required field containing the Vault Role to assume. A Role binds a Kubernetes ServiceAccount with a set of Vault policies.
  2822                              type: string
  2823                            secretRef:
  2824                              description: The required Secret field containing a Kubernetes ServiceAccount JWT used for authenticating with Vault. Use of 'ambient credentials' is not supported.
  2825                              type: object
  2826                              required:
  2827                                - name
  2828                              properties:
  2829                                key:
  2830                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  2831                                  type: string
  2832                                name:
  2833                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2834                                  type: string
  2835                            serviceAccountRef:
  2836                              description: A reference to a service account that will be used to request a bound token (also known as "projected token"). Compared to using "secretRef", using this field means that you don't rely on statically bound tokens. To use this field, you must configure an RBAC rule to let cert-manager request a token.
  2837                              type: object
  2838                              required:
  2839                                - name
  2840                              properties:
  2841                                name:
  2842                                  description: Name of the ServiceAccount used to request a token.
  2843                                  type: string
  2844                        tokenSecretRef:
  2845                          description: TokenSecretRef authenticates with Vault by presenting a token.
  2846                          type: object
  2847                          required:
  2848                            - name
  2849                          properties:
  2850                            key:
  2851                              description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  2852                              type: string
  2853                            name:
  2854                              description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2855                              type: string
  2856                    caBundle:
  2857                      description: Base64-encoded bundle of PEM CAs which will be used to validate the certificate chain presented by Vault. Only used if using HTTPS to connect to Vault and ignored for HTTP connections. Mutually exclusive with CABundleSecretRef. If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in the cert-manager controller container is used to validate the TLS connection.
  2858                      type: string
  2859                      format: byte
  2860                    caBundleSecretRef:
  2861                      description: Reference to a Secret containing a bundle of PEM-encoded CAs to use when verifying the certificate chain presented by Vault when using HTTPS. Mutually exclusive with CABundle. If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in the cert-manager controller container is used to validate the TLS connection. If no key for the Secret is specified, cert-manager will default to 'ca.crt'.
  2862                      type: object
  2863                      required:
  2864                        - name
  2865                      properties:
  2866                        key:
  2867                          description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  2868                          type: string
  2869                        name:
  2870                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2871                          type: string
  2872                    namespace:
  2873                      description: 'Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: "ns1" More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces'
  2874                      type: string
  2875                    path:
  2876                      description: 'Path is the mount path of the Vault PKI backend''s `sign` endpoint, e.g: "my_pki_mount/sign/my-role-name".'
  2877                      type: string
  2878                    server:
  2879                      description: 'Server is the connection address for the Vault server, e.g: "https://vault.example.com:8200".'
  2880                      type: string
  2881                venafi:
  2882                  description: Venafi configures this issuer to sign certificates using a Venafi TPP or Venafi Cloud policy zone.
  2883                  type: object
  2884                  required:
  2885                    - zone
  2886                  properties:
  2887                    cloud:
  2888                      description: Cloud specifies the Venafi cloud configuration settings. Only one of TPP or Cloud may be specified.
  2889                      type: object
  2890                      required:
  2891                        - apiTokenSecretRef
  2892                      properties:
  2893                        apiTokenSecretRef:
  2894                          description: APITokenSecretRef is a secret key selector for the Venafi Cloud API token.
  2895                          type: object
  2896                          required:
  2897                            - name
  2898                          properties:
  2899                            key:
  2900                              description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  2901                              type: string
  2902                            name:
  2903                              description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2904                              type: string
  2905                        url:
  2906                          description: URL is the base URL for Venafi Cloud. Defaults to "https://api.venafi.cloud/v1".
  2907                          type: string
  2908                    tpp:
  2909                      description: TPP specifies Trust Protection Platform configuration settings. Only one of TPP or Cloud may be specified.
  2910                      type: object
  2911                      required:
  2912                        - credentialsRef
  2913                        - url
  2914                      properties:
  2915                        caBundle:
  2916                          description: Base64-encoded bundle of PEM CAs which will be used to validate the certificate chain presented by the TPP server. Only used if using HTTPS; ignored for HTTP. If undefined, the certificate bundle in the cert-manager controller container is used to validate the chain.
  2917                          type: string
  2918                          format: byte
  2919                        credentialsRef:
  2920                          description: CredentialsRef is a reference to a Secret containing the username and password for the TPP server. The secret must contain two keys, 'username' and 'password'.
  2921                          type: object
  2922                          required:
  2923                            - name
  2924                          properties:
  2925                            name:
  2926                              description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2927                              type: string
  2928                        url:
  2929                          description: 'URL is the base URL for the vedsdk endpoint of the Venafi TPP instance, for example: "https://tpp.example.com/vedsdk".'
  2930                          type: string
  2931                    zone:
  2932                      description: Zone is the Venafi Policy Zone to use for this issuer. All requests made to the Venafi platform will be restricted by the named zone policy. This field is required.
  2933                      type: string
  2934            status:
  2935              description: Status of the ClusterIssuer. This is set and managed automatically.
  2936              type: object
  2937              properties:
  2938                acme:
  2939                  description: ACME specific status options. This field should only be set if the Issuer is configured to use an ACME server to issue certificates.
  2940                  type: object
  2941                  properties:
  2942                    lastPrivateKeyHash:
  2943                      description: LastPrivateKeyHash is a hash of the private key associated with the latest registered ACME account, in order to track changes made to registered account associated with the Issuer
  2944                      type: string
  2945                    lastRegisteredEmail:
  2946                      description: LastRegisteredEmail is the email associated with the latest registered ACME account, in order to track changes made to registered account associated with the  Issuer
  2947                      type: string
  2948                    uri:
  2949                      description: URI is the unique account identifier, which can also be used to retrieve account details from the CA
  2950                      type: string
  2951                conditions:
  2952                  description: List of status conditions to indicate the status of a CertificateRequest. Known condition types are `Ready`.
  2953                  type: array
  2954                  items:
  2955                    description: IssuerCondition contains condition information for an Issuer.
  2956                    type: object
  2957                    required:
  2958                      - status
  2959                      - type
  2960                    properties:
  2961                      lastTransitionTime:
  2962                        description: LastTransitionTime is the timestamp corresponding to the last status change of this condition.
  2963                        type: string
  2964                        format: date-time
  2965                      message:
  2966                        description: Message is a human readable description of the details of the last transition, complementing reason.
  2967                        type: string
  2968                      observedGeneration:
  2969                        description: If set, this represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date with respect to the current state of the Issuer.
  2970                        type: integer
  2971                        format: int64
  2972                      reason:
  2973                        description: Reason is a brief machine readable explanation for the condition's last transition.
  2974                        type: string
  2975                      status:
  2976                        description: Status of the condition, one of (`True`, `False`, `Unknown`).
  2977                        type: string
  2978                        enum:
  2979                          - "True"
  2980                          - "False"
  2981                          - Unknown
  2982                      type:
  2983                        description: Type of the condition, known values are (`Ready`).
  2984                        type: string
  2985                  x-kubernetes-list-map-keys:
  2986                    - type
  2987                  x-kubernetes-list-type: map
  2988      served: true
  2989      storage: true
  2990---
  2991# Source: cert-manager/templates/crds.yaml
  2992apiVersion: apiextensions.k8s.io/v1
  2993kind: CustomResourceDefinition
  2994metadata:
  2995  name: issuers.cert-manager.io
  2996  labels:
  2997    app: 'cert-manager'
  2998    app.kubernetes.io/name: 'cert-manager'
  2999    app.kubernetes.io/instance: "cert-manager"
  3000    # Generated labels
  3001    app.kubernetes.io/version: "v1.12.12"
  3002spec:
  3003  group: cert-manager.io
  3004  names:
  3005    kind: Issuer
  3006    listKind: IssuerList
  3007    plural: issuers
  3008    singular: issuer
  3009    categories:
  3010      - cert-manager
  3011  scope: Namespaced
  3012  versions:
  3013    - name: v1
  3014      subresources:
  3015        status: {}
  3016      additionalPrinterColumns:
  3017        - jsonPath: .status.conditions[?(@.type=="Ready")].status
  3018          name: Ready
  3019          type: string
  3020        - jsonPath: .status.conditions[?(@.type=="Ready")].message
  3021          name: Status
  3022          priority: 1
  3023          type: string
  3024        - jsonPath: .metadata.creationTimestamp
  3025          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.
  3026          name: Age
  3027          type: date
  3028      schema:
  3029        openAPIV3Schema:
  3030          description: An Issuer represents a certificate issuing authority which can be referenced as part of `issuerRef` fields. It is scoped to a single namespace and can therefore only be referenced by resources within the same namespace.
  3031          type: object
  3032          required:
  3033            - spec
  3034          properties:
  3035            apiVersion:
  3036              description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3037              type: string
  3038            kind:
  3039              description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3040              type: string
  3041            metadata:
  3042              type: object
  3043            spec:
  3044              description: Desired state of the Issuer resource.
  3045              type: object
  3046              properties:
  3047                acme:
  3048                  description: ACME configures this issuer to communicate with a RFC8555 (ACME) server to obtain signed x509 certificates.
  3049                  type: object
  3050                  required:
  3051                    - privateKeySecretRef
  3052                    - server
  3053                  properties:
  3054                    caBundle:
  3055                      description: Base64-encoded bundle of PEM CAs which can be used to validate the certificate chain presented by the ACME server. Mutually exclusive with SkipTLSVerify; prefer using CABundle to prevent various kinds of security vulnerabilities. If CABundle and SkipTLSVerify are unset, the system certificate bundle inside the container is used to validate the TLS connection.
  3056                      type: string
  3057                      format: byte
  3058                    disableAccountKeyGeneration:
  3059                      description: Enables or disables generating a new ACME account key. If true, the Issuer resource will *not* request a new account but will expect the account key to be supplied via an existing secret. If false, the cert-manager system will generate a new ACME account key for the Issuer. Defaults to false.
  3060                      type: boolean
  3061                    email:
  3062                      description: Email is the email address to be associated with the ACME account. This field is optional, but it is strongly recommended to be set. It will be used to contact you in case of issues with your account or certificates, including expiry notification emails. This field may be updated after the account is initially registered.
  3063                      type: string
  3064                    enableDurationFeature:
  3065                      description: Enables requesting a Not After date on certificates that matches the duration of the certificate. This is not supported by all ACME servers like Let's Encrypt. If set to true when the ACME server does not support it it will create an error on the Order. Defaults to false.
  3066                      type: boolean
  3067                    externalAccountBinding:
  3068                      description: ExternalAccountBinding is a reference to a CA external account of the ACME server. If set, upon registration cert-manager will attempt to associate the given external account credentials with the registered ACME account.
  3069                      type: object
  3070                      required:
  3071                        - keyID
  3072                        - keySecretRef
  3073                      properties:
  3074                        keyAlgorithm:
  3075                          description: 'Deprecated: keyAlgorithm field exists for historical compatibility reasons and should not be used. The algorithm is now hardcoded to HS256 in golang/x/crypto/acme.'
  3076                          type: string
  3077                          enum:
  3078                            - HS256
  3079                            - HS384
  3080                            - HS512
  3081                        keyID:
  3082                          description: keyID is the ID of the CA key that the External Account is bound to.
  3083                          type: string
  3084                        keySecretRef:
  3085                          description: keySecretRef is a Secret Key Selector referencing a data item in a Kubernetes Secret which holds the symmetric MAC key of the External Account Binding. The `key` is the index string that is paired with the key data in the Secret and should not be confused with the key data itself, or indeed with the External Account Binding keyID above. The secret key stored in the Secret **must** be un-padded, base64 URL encoded data.
  3086                          type: object
  3087                          required:
  3088                            - name
  3089                          properties:
  3090                            key:
  3091                              description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3092                              type: string
  3093                            name:
  3094                              description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3095                              type: string
  3096                    preferredChain:
  3097                      description: 'PreferredChain is the chain to use if the ACME server outputs multiple. PreferredChain is no guarantee that this one gets delivered by the ACME endpoint. For example, for Let''s Encrypt''s DST crosssign you would use: "DST Root CA X3" or "ISRG Root X1" for the newer Let''s Encrypt root CA. This value picks the first certificate bundle in the ACME alternative chains that has a certificate with this value as its issuer''s CN'
  3098                      type: string
  3099                      maxLength: 64
  3100                    privateKeySecretRef:
  3101                      description: PrivateKey is the name of a Kubernetes Secret resource that will be used to store the automatically generated ACME account private key. Optionally, a `key` may be specified to select a specific entry within the named Secret resource. If `key` is not specified, a default of `tls.key` will be used.
  3102                      type: object
  3103                      required:
  3104                        - name
  3105                      properties:
  3106                        key:
  3107                          description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3108                          type: string
  3109                        name:
  3110                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3111                          type: string
  3112                    server:
  3113                      description: 'Server is the URL used to access the ACME server''s ''directory'' endpoint. For example, for Let''s Encrypt''s staging endpoint, you would use: "https://acme-staging-v02.api.letsencrypt.org/directory". Only ACME v2 endpoints (i.e. RFC 8555) are supported.'
  3114                      type: string
  3115                    skipTLSVerify:
  3116                      description: 'INSECURE: Enables or disables validation of the ACME server TLS certificate. If true, requests to the ACME server will not have the TLS certificate chain validated. Mutually exclusive with CABundle; prefer using CABundle to prevent various kinds of security vulnerabilities. Only enable this option in development environments. If CABundle and SkipTLSVerify are unset, the system certificate bundle inside the container is used to validate the TLS connection. Defaults to false.'
  3117                      type: boolean
  3118                    solvers:
  3119                      description: 'Solvers is a list of challenge solvers that will be used to solve ACME challenges for the matching domains. Solver configurations must be provided in order to obtain certificates from an ACME server. For more information, see: https://cert-manager.io/docs/configuration/acme/'
  3120                      type: array
  3121                      items:
  3122                        description: An ACMEChallengeSolver describes how to solve ACME challenges for the issuer it is part of. A selector may be provided to use different solving strategies for different DNS names. Only one of HTTP01 or DNS01 must be provided.
  3123                        type: object
  3124                        properties:
  3125                          dns01:
  3126                            description: Configures cert-manager to attempt to complete authorizations by performing the DNS01 challenge flow.
  3127                            type: object
  3128                            properties:
  3129                              acmeDNS:
  3130                                description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns) API to manage DNS01 challenge records.
  3131                                type: object
  3132                                required:
  3133                                  - accountSecretRef
  3134                                  - host
  3135                                properties:
  3136                                  accountSecretRef:
  3137                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  3138                                    type: object
  3139                                    required:
  3140                                      - name
  3141                                    properties:
  3142                                      key:
  3143                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3144                                        type: string
  3145                                      name:
  3146                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3147                                        type: string
  3148                                  host:
  3149                                    type: string
  3150                              akamai:
  3151                                description: Use the Akamai DNS zone management API to manage DNS01 challenge records.
  3152                                type: object
  3153                                required:
  3154                                  - accessTokenSecretRef
  3155                                  - clientSecretSecretRef
  3156                                  - clientTokenSecretRef
  3157                                  - serviceConsumerDomain
  3158                                properties:
  3159                                  accessTokenSecretRef:
  3160                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  3161                                    type: object
  3162                                    required:
  3163                                      - name
  3164                                    properties:
  3165                                      key:
  3166                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3167                                        type: string
  3168                                      name:
  3169                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3170                                        type: string
  3171                                  clientSecretSecretRef:
  3172                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  3173                                    type: object
  3174                                    required:
  3175                                      - name
  3176                                    properties:
  3177                                      key:
  3178                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3179                                        type: string
  3180                                      name:
  3181                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3182                                        type: string
  3183                                  clientTokenSecretRef:
  3184                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  3185                                    type: object
  3186                                    required:
  3187                                      - name
  3188                                    properties:
  3189                                      key:
  3190                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3191                                        type: string
  3192                                      name:
  3193                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3194                                        type: string
  3195                                  serviceConsumerDomain:
  3196                                    type: string
  3197                              azureDNS:
  3198                                description: Use the Microsoft Azure DNS API to manage DNS01 challenge records.
  3199                                type: object
  3200                                required:
  3201                                  - resourceGroupName
  3202                                  - subscriptionID
  3203                                properties:
  3204                                  clientID:
  3205                                    description: if both this and ClientSecret are left unset MSI will be used
  3206                                    type: string
  3207                                  clientSecretSecretRef:
  3208                                    description: if both this and ClientID are left unset MSI will be used
  3209                                    type: object
  3210                                    required:
  3211                                      - name
  3212                                    properties:
  3213                                      key:
  3214                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3215                                        type: string
  3216                                      name:
  3217                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3218                                        type: string
  3219                                  environment:
  3220                                    description: name of the Azure environment (default AzurePublicCloud)
  3221                                    type: string
  3222                                    enum:
  3223                                      - AzurePublicCloud
  3224                                      - AzureChinaCloud
  3225                                      - AzureGermanCloud
  3226                                      - AzureUSGovernmentCloud
  3227                                  hostedZoneName:
  3228                                    description: name of the DNS zone that should be used
  3229                                    type: string
  3230                                  managedIdentity:
  3231                                    description: managed identity configuration, can not be used at the same time as clientID, clientSecretSecretRef or tenantID
  3232                                    type: object
  3233                                    properties:
  3234                                      clientID:
  3235                                        description: client ID of the managed identity, can not be used at the same time as resourceID
  3236                                        type: string
  3237                                      resourceID:
  3238                                        description: resource ID of the managed identity, can not be used at the same time as clientID
  3239                                        type: string
  3240                                  resourceGroupName:
  3241                                    description: resource group the DNS zone is located in
  3242                                    type: string
  3243                                  subscriptionID:
  3244                                    description: ID of the Azure subscription
  3245                                    type: string
  3246                                  tenantID:
  3247                                    description: when specifying ClientID and ClientSecret then this field is also needed
  3248                                    type: string
  3249                              cloudDNS:
  3250                                description: Use the Google Cloud DNS API to manage DNS01 challenge records.
  3251                                type: object
  3252                                required:
  3253                                  - project
  3254                                properties:
  3255                                  hostedZoneName:
  3256                                    description: HostedZoneName is an optional field that tells cert-manager in which Cloud DNS zone the challenge record has to be created. If left empty cert-manager will automatically choose a zone.
  3257                                    type: string
  3258                                  project:
  3259                                    type: string
  3260                                  serviceAccountSecretRef:
  3261                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  3262                                    type: object
  3263                                    required:
  3264                                      - name
  3265                                    properties:
  3266                                      key:
  3267                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3268                                        type: string
  3269                                      name:
  3270                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3271                                        type: string
  3272                              cloudflare:
  3273                                description: Use the Cloudflare API to manage DNS01 challenge records.
  3274                                type: object
  3275                                properties:
  3276                                  apiKeySecretRef:
  3277                                    description: 'API key to use to authenticate with Cloudflare. Note: using an API token to authenticate is now the recommended method as it allows greater control of permissions.'
  3278                                    type: object
  3279                                    required:
  3280                                      - name
  3281                                    properties:
  3282                                      key:
  3283                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3284                                        type: string
  3285                                      name:
  3286                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3287                                        type: string
  3288                                  apiTokenSecretRef:
  3289                                    description: API token used to authenticate with Cloudflare.
  3290                                    type: object
  3291                                    required:
  3292                                      - name
  3293                                    properties:
  3294                                      key:
  3295                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3296                                        type: string
  3297                                      name:
  3298                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3299                                        type: string
  3300                                  email:
  3301                                    description: Email of the account, only required when using API key based authentication.
  3302                                    type: string
  3303                              cnameStrategy:
  3304                                description: CNAMEStrategy configures how the DNS01 provider should handle CNAME records when found in DNS zones.
  3305                                type: string
  3306                                enum:
  3307                                  - None
  3308                                  - Follow
  3309                              digitalocean:
  3310                                description: Use the DigitalOcean DNS API to manage DNS01 challenge records.
  3311                                type: object
  3312                                required:
  3313                                  - tokenSecretRef
  3314                                properties:
  3315                                  tokenSecretRef:
  3316                                    description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
  3317                                    type: object
  3318                                    required:
  3319                                      - name
  3320                                    properties:
  3321                                      key:
  3322                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3323                                        type: string
  3324                                      name:
  3325                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3326                                        type: string
  3327                              rfc2136:
  3328                                description: Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/) to manage DNS01 challenge records.
  3329                                type: object
  3330                                required:
  3331                                  - nameserver
  3332                                properties:
  3333                                  nameserver:
  3334                                    description: The IP address or hostname of an authoritative DNS server supporting RFC2136 in the form host:port. If the host is an IPv6 address it must be enclosed in square brackets (e.g [2001:db8::1]) ; port is optional. This field is required.
  3335                                    type: string
  3336                                  tsigAlgorithm:
  3337                                    description: 'The TSIG Algorithm configured in the DNS supporting RFC2136. Used only when ``tsigSecretSecretRef`` and ``tsigKeyName`` are defined. Supported values are (case-insensitive): ``HMACMD5`` (default), ``HMACSHA1``, ``HMACSHA256`` or ``HMACSHA512``.'
  3338                                    type: string
  3339                                  tsigKeyName:
  3340                                    description: The TSIG Key name configured in the DNS. If ``tsigSecretSecretRef`` is defined, this field is required.
  3341                                    type: string
  3342                                  tsigSecretSecretRef:
  3343                                    description: The name of the secret containing the TSIG value. If ``tsigKeyName`` is defined, this field is required.
  3344                                    type: object
  3345                                    required:
  3346                                      - name
  3347                                    properties:
  3348                                      key:
  3349                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3350                                        type: string
  3351                                      name:
  3352                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3353                                        type: string
  3354                              route53:
  3355                                description: Use the AWS Route53 API to manage DNS01 challenge records.
  3356                                type: object
  3357                                required:
  3358                                  - region
  3359                                properties:
  3360                                  accessKeyID:
  3361                                    description: 'The AccessKeyID is used for authentication. Cannot be set when SecretAccessKeyID is set. If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  3362                                    type: string
  3363                                  accessKeyIDSecretRef:
  3364                                    description: 'The SecretAccessKey is used for authentication. If set, pull the AWS access key ID from a key within a Kubernetes Secret. Cannot be set when AccessKeyID is set. If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  3365                                    type: object
  3366                                    required:
  3367                                      - name
  3368                                    properties:
  3369                                      key:
  3370                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3371                                        type: string
  3372                                      name:
  3373                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3374                                        type: string
  3375                                  hostedZoneID:
  3376                                    description: If set, the provider will manage only this zone in Route53 and will not do an lookup using the route53:ListHostedZonesByName api call.
  3377                                    type: string
  3378                                  region:
  3379                                    description: Always set the region when using AccessKeyID and SecretAccessKey
  3380                                    type: string
  3381                                  role:
  3382                                    description: Role is a Role ARN which the Route53 provider will assume using either the explicit credentials AccessKeyID/SecretAccessKey or the inferred credentials from environment variables, shared credentials file or AWS Instance metadata
  3383                                    type: string
  3384                                  secretAccessKeySecretRef:
  3385                                    description: 'The SecretAccessKey is used for authentication. If neither the Access Key nor Key ID are set, we fall-back to using env vars, shared credentials file or AWS Instance metadata, see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  3386                                    type: object
  3387                                    required:
  3388                                      - name
  3389                                    properties:
  3390                                      key:
  3391                                        description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  3392                                        type: string
  3393                                      name:
  3394                                        description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  3395                                        type: string
  3396                              webhook:
  3397                                description: Configure an external webhook based DNS01 challenge solver to manage DNS01 challenge records.
  3398                                type: object
  3399                                required:
  3400                                  - groupName
  3401                                  - solverName
  3402                                properties:
  3403                                  config:
  3404                                    description: Additional configuration that should be passed to the webhook apiserver when challenges are processed. This can contain arbitrary JSON data. Secret values should not be specified in this stanza. If secret values are needed (e.g. credentials for a DNS service), you should use a SecretKeySelector to reference a Secret resource. For details on the schema of this field, consult the webhook provider implementation's documentation.
  3405                                    x-kubernetes-preserve-unknown-fields: true
  3406                                  groupName:
  3407                                    description: The API group name that should be used when POSTing ChallengePayload resources to the webhook apiserver. This should be the same as the GroupName specified in the webhook provider implementation.
  3408                                    type: string
  3409                                  solverName:
  3410                                    description: The name of the solver to use, as defined in the webhook provider implementation. This will typically be the name of the provider, e.g. 'cloudflare'.
  3411                                    type: string
  3412                          http01:
  3413                            description: Configures cert-manager to attempt to complete authorizations by performing the HTTP01 challenge flow. It is not possible to obtain certificates for wildcard domain names (e.g. `*.example.com`) using the HTTP01 challenge mechanism.
  3414                            type: object
  3415                            properties:
  3416                              gatewayHTTPRoute:
  3417                                description: The Gateway API is a sig-network community API that models service networking in Kubernetes (https://gateway-api.sigs.k8s.io/). The Gateway solver will create HTTPRoutes with the specified labels in the same namespace as the challenge. This solver is experimental, and fields / behaviour may change in the future.
  3418                                type: object
  3419                                properties:
  3420                                  labels:
  3421                                    description: Custom labels that will be applied to HTTPRoutes created by cert-manager while solving HTTP-01 challenges.
  3422                                    type: object
  3423                                    additionalProperties:
  3424                                      type: string
  3425                                  parentRefs:
  3426                                    description: 'When solving an HTTP-01 challenge, cert-manager creates an HTTPRoute. cert-manager needs to know which parentRefs should be used when creating the HTTPRoute. Usually, the parentRef references a Gateway. See: https://gateway-api.sigs.k8s.io/api-types/httproute/#attaching-to-gateways'
  3427                                    type: array
  3428                                    items:
  3429                                      description: "ParentReference identifies an API object (usually a Gateway) that can be considered a parent of this resource (usually a route). The only kind of parent resource with \"Core\" support is Gateway. This API may be extended in the future to support additional kinds of parent resources, such as HTTPRoute. \n The API object must be valid in the cluster; the Group and Kind must be registered in the cluster for this reference to be valid."
  3430                                      type: object
  3431                                      required:
  3432                                        - name
  3433                                      properties:
  3434                                        group:
  3435                                          description: "Group is the group of the referent. When unspecified, \"gateway.networking.k8s.io\" is inferred. To set the core API group (such as for a \"Service\" kind referent), Group must be explicitly set to \"\" (empty string). \n Support: Core"
  3436                                          type: string
  3437                                          default: gateway.networking.k8s.io
  3438                                          maxLength: 253
  3439                                          pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  3440                                        kind:
  3441                                          description: "Kind is kind of the referent. \n Support: Core (Gateway) \n Support: Implementation-specific (Other Resources)"
  3442                                          type: string
  3443                                          default: Gateway
  3444                                          maxLength: 63
  3445                                          minLength: 1
  3446                                          pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
  3447                                        name:
  3448                                          description: "Name is the name of the referent. \n Support: Core"
  3449                                          type: string
  3450                                          maxLength: 253
  3451                                          minLength: 1
  3452                                        namespace:
  3453                                          description: "Namespace is the namespace of the referent. When unspecified, this refers to the local namespace of the Route. \n Note that there are specific rules for ParentRefs which cross namespace boundaries. Cross-namespace references are only valid if they are explicitly allowed by something in the namespace they are referring to. For example: Gateway has the AllowedRoutes field, and ReferenceGrant provides a generic way to enable any other kind of cross-namespace reference. \n Support: Core"
  3454                                          type: string
  3455                                          maxLength: 63
  3456                                          minLength: 1
  3457                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  3458                                        port:
  3459                                          description: "Port is the network port this Route targets. It can be interpreted differently based on the type of parent resource. \n When the parent resource is a Gateway, this targets all listeners listening on the specified port that also support this kind of Route(and select this Route). It's not recommended to set `Port` unless the networking behaviors specified in a Route must apply to a specific port as opposed to a listener(s) whose port(s) may be changed. When both Port and SectionName are specified, the name and port of the selected listener must match both specified values. \n Implementations MAY choose to support other parent resources. Implementations supporting other types of parent resources MUST clearly document how/if Port is interpreted. \n For the purpose of status, an attachment is considered successful as long as the parent resource accepts it partially. For example, Gateway listeners can restrict which Routes can attach to them by Route kind, namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from the referencing Route, the Route MUST be considered successfully attached. If no Gateway listeners accept attachment from this Route, the Route MUST be considered detached from the Gateway. \n Support: Extended \n <gateway:experimental>"
  3460                                          type: integer
  3461                                          format: int32
  3462                                          maximum: 65535
  3463                                          minimum: 1
  3464                                        sectionName:
  3465                                          description: "SectionName is the name of a section within the target resource. In the following resources, SectionName is interpreted as the following: \n * Gateway: Listener Name. When both Port (experimental) and SectionName are specified, the name and port of the selected listener must match both specified values. \n Implementations MAY choose to support attaching Routes to other resources. If that is the case, they MUST clearly document how SectionName is interpreted. \n When unspecified (empty string), this will reference the entire resource. For the purpose of status, an attachment is considered successful if at least one section in the parent resource accepts it. For example, Gateway listeners can restrict which Routes can attach to them by Route kind, namespace, or hostname. If 1 of 2 Gateway listeners accept attachment from the referencing Route, the Route MUST be considered successfully attached. If no Gateway listeners accept attachment from this Route, the Route MUST be considered detached from the Gateway. \n Support: Core"
  3466                                          type: string
  3467                                          maxLength: 253
  3468                                          minLength: 1
  3469                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  3470                                  serviceType:
  3471                                    description: Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort.
  3472                                    type: string
  3473                              ingress:
  3474                                description: The ingress based HTTP01 challenge solver will solve challenges by creating or modifying Ingress resources in order to route requests for '/.well-known/acme-challenge/XYZ' to 'challenge solver' pods that are provisioned by cert-manager for each Challenge to be completed.
  3475                                type: object
  3476                                properties:
  3477                                  class:
  3478                                    description: This field configures the annotation `kubernetes.io/ingress.class` when creating Ingress resources to solve ACME challenges that use this challenge solver. Only one of `class`, `name` or `ingressClassName` may be specified.
  3479                                    type: string
  3480                                  ingressClassName:
  3481                                    description: This field configures the field `ingressClassName` on the created Ingress resources used to solve ACME challenges that use this challenge solver. This is the recommended way of configuring the ingress class. Only one of `class`, `name` or `ingressClassName` may be specified.
  3482                                    type: string
  3483                                  ingressTemplate:
  3484                                    description: Optional ingress template used to configure the ACME challenge solver ingress used for HTTP01 challenges.
  3485                                    type: object
  3486                                    properties:
  3487                                      metadata:
  3488                                        description: ObjectMeta overrides for the ingress used to solve HTTP01 challenges. Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values.
  3489                                        type: object
  3490                                        properties:
  3491                                          annotations:
  3492                                            description: Annotations that should be added to the created ACME HTTP01 solver ingress.
  3493                                            type: object
  3494                                            additionalProperties:
  3495                                              type: string
  3496                                          labels:
  3497                                            description: Labels that should be added to the created ACME HTTP01 solver ingress.
  3498                                            type: object
  3499                                            additionalProperties:
  3500                                              type: string
  3501                                  name:
  3502                                    description: The name of the ingress resource that should have ACME challenge solving routes inserted into it in order to solve HTTP01 challenges. This is typically used in conjunction with ingress controllers like ingress-gce, which maintains a 1:1 mapping between external IPs and ingress resources. Only one of `class`, `name` or `ingressClassName` may be specified.
  3503                                    type: string
  3504                                  podTemplate:
  3505                                    description: Optional pod template used to configure the ACME challenge solver pods used for HTTP01 challenges.
  3506                                    type: object
  3507                                    properties:
  3508                                      metadata:
  3509                                        description: ObjectMeta overrides for the pod used to solve HTTP01 challenges. Only the 'labels' and 'annotations' fields may be set. If labels or annotations overlap with in-built values, the values here will override the in-built values.
  3510                                        type: object
  3511                                        properties:
  3512                                          annotations:
  3513                                            description: Annotations that should be added to the create ACME HTTP01 solver pods.
  3514                                            type: object
  3515                                            additionalProperties:
  3516                                              type: string
  3517                                          labels:
  3518                                            description: Labels that should be added to the created ACME HTTP01 solver pods.
  3519                                            type: object
  3520                                            additionalProperties:
  3521                                              type: string
  3522                                      spec:
  3523                                        description: PodSpec defines overrides for the HTTP01 challenge solver pod. Check ACMEChallengeSolverHTTP01IngressPodSpec to find out currently supported fields. All other fields will be ignored.
  3524                                        type: object
  3525                                        properties:
  3526                                          affinity:
  3527                                            description: If specified, the pod's scheduling constraints
  3528                                            type: object
  3529                                            properties:
  3530                                              nodeAffinity:
  3531                                                description: Describes node affinity scheduling rules for the pod.
  3532                                                type: object
  3533                                                properties:
  3534                                                  preferredDuringSchedulingIgnoredDuringExecution:
  3535                                                    description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
  3536                                                    type: array
  3537                                                    items:
  3538                                                      description: An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
  3539                                                      type: object
  3540                                                      required:
  3541                                                        - preference
  3542                                                        - weight
  3543                                                      properties:
  3544                                                        preference:
  3545                                                          description: A node selector term, associated with the corresponding weight.
  3546                                                          type: object
  3547                                                          properties:
  3548                                                            matchExpressions:
  3549                                                              description: A list of node selector requirements by node's labels.
  3550                                                              type: array
  3551                                                              items:
  3552                                                                description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3553                                                                type: object
  3554                                                                required:
  3555                                                                  - key
  3556                                                                  - operator
  3557                                                                properties:
  3558                                                                  key:
  3559                                                                    description: The label key that the selector applies to.
  3560                                                                    type: string
  3561                                                                  operator:
  3562                                                                    description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3563                                                                    type: string
  3564                                                                  values:
  3565                                                                    description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  3566                                                                    type: array
  3567                                                                    items:
  3568                                                                      type: string
  3569                                                            matchFields:
  3570                                                              description: A list of node selector requirements by node's fields.
  3571                                                              type: array
  3572                                                              items:
  3573                                                                description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3574                                                                type: object
  3575                                                                required:
  3576                                                                  - key
  3577                                                                  - operator
  3578                                                                properties:
  3579                                                                  key:
  3580                                                                    description: The label key that the selector applies to.
  3581                                                                    type: string
  3582                                                                  operator:
  3583                                                                    description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3584                                                                    type: string
  3585                                                                  values:
  3586                                                                    description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  3587                                                                    type: array
  3588                                                                    items:
  3589                                                                      type: string
  3590                                                          x-kubernetes-map-type: atomic
  3591                                                        weight:
  3592                                                          description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
  3593                                                          type: integer
  3594                                                          format: int32
  3595                                                  requiredDuringSchedulingIgnoredDuringExecution:
  3596                                                    description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
  3597                                                    type: object
  3598                                                    required:
  3599                                                      - nodeSelectorTerms
  3600                                                    properties:
  3601                                                      nodeSelectorTerms:
  3602                                                        description: Required. A list of node selector terms. The terms are ORed.
  3603                                                        type: array
  3604                                                        items:
  3605                                                          description: A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
  3606                                                          type: object
  3607                                                          properties:
  3608                                                            matchExpressions:
  3609                                                              description: A list of node selector requirements by node's labels.
  3610                                                              type: array
  3611                                                              items:
  3612                                                                description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3613                                                                type: object
  3614                                                                required:
  3615                                                                  - key
  3616                                                                  - operator
  3617                                                                properties:
  3618                                                                  key:
  3619                                                                    description: The label key that the selector applies to.
  3620                                                                    type: string
  3621                                                                  operator:
  3622                                                                    description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3623                                                                    type: string
  3624                                                                  values:
  3625                                                                    description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  3626                                                                    type: array
  3627                                                                    items:
  3628                                                                      type: string
  3629                                                            matchFields:
  3630                                                              description: A list of node selector requirements by node's fields.
  3631                                                              type: array
  3632                                                              items:
  3633                                                                description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3634                                                                type: object
  3635                                                                required:
  3636                                                                  - key
  3637                                                                  - operator
  3638                                                                properties:
  3639                                                                  key:
  3640                                                                    description: The label key that the selector applies to.
  3641                                                                    type: string
  3642                                                                  operator:
  3643                                                                    description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
  3644                                                                    type: string
  3645                                                                  values:
  3646                                                                    description: An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
  3647                                                                    type: array
  3648                                                                    items:
  3649                                                                      type: string
  3650                                                          x-kubernetes-map-type: atomic
  3651                                                    x-kubernetes-map-type: atomic
  3652                                              podAffinity:
  3653                                                description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
  3654                                                type: object
  3655                                                properties:
  3656                                                  preferredDuringSchedulingIgnoredDuringExecution:
  3657                                                    description: The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
  3658                                                    type: array
  3659                                                    items:
  3660                                                      description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
  3661                                                      type: object
  3662                                                      required:
  3663                                                        - podAffinityTerm
  3664                                                        - weight
  3665                                                      properties:
  3666                                                        podAffinityTerm:
  3667                                                          description: Required. A pod affinity term, associated with the corresponding weight.
  3668                                                          type: object
  3669                                                          required:
  3670                                                            - topologyKey
  3671                                                          properties:
  3672                                                            labelSelector:
  3673                                                              description: A label query over a set of resources, in this case pods.
  3674                                                              type: object
  3675                                                              properties:
  3676                                                                matchExpressions:
  3677                                                                  description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3678                                                                  type: array
  3679                                                                  items:
  3680                                                                    description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3681                                                                    type: object
  3682                                                                    required:
  3683                                                                      - key
  3684                                                                      - operator
  3685                                                                    properties:
  3686                                                                      key:
  3687                                                                        description: key is the label key that the selector applies to.
  3688                                                                        type: string
  3689                                                                      operator:
  3690                                                                        description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  3691                                                                        type: string
  3692                                                                      values:
  3693                                                                        description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  3694                                                                        type: array
  3695                                                                        items:
  3696                                                                          type: string
  3697                                                                matchLabels:
  3698                                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  3699                                                                  type: object
  3700                                                                  additionalProperties:
  3701                                                                    type: string
  3702                                                              x-kubernetes-map-type: atomic
  3703                                                            namespaceSelector:
  3704                                                              description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  3705                                                              type: object
  3706                                                              properties:
  3707                                                                matchExpressions:
  3708                                                                  description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3709                                                                  type: array
  3710                                                                  items:
  3711                                                                    description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3712                                                                    type: object
  3713                                                                    required:
  3714                                                                      - key
  3715                                                                      - operator
  3716                                                                    properties:
  3717                                                                      key:
  3718                                                                        description: key is the label key that the selector applies to.
  3719                                                                        type: string
  3720                                                                      operator:
  3721                                                                        description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  3722                                                                        type: string
  3723                                                                      values:
  3724                                                                        description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  3725                                                                        type: array
  3726                                                                        items:
  3727                                                                          type: string
  3728                                                                matchLabels:
  3729                                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  3730                                                                  type: object
  3731                                                                  additionalProperties:
  3732                                                                    type: string
  3733                                                              x-kubernetes-map-type: atomic
  3734                                                            namespaces:
  3735                                                              description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  3736                                                              type: array
  3737                                                              items:
  3738                                                                type: string
  3739                                                            topologyKey:
  3740                                                              description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  3741                                                              type: string
  3742                                                        weight:
  3743                                                          description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  3744                                                          type: integer
  3745                                                          format: int32
  3746                                                  requiredDuringSchedulingIgnoredDuringExecution:
  3747                                                    description: If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
  3748                                                    type: array
  3749                                                    items:
  3750                                                      description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
  3751                                                      type: object
  3752                                                      required:
  3753                                                        - topologyKey
  3754                                                      properties:
  3755                                                        labelSelector:
  3756                                                          description: A label query over a set of resources, in this case pods.
  3757                                                          type: object
  3758                                                          properties:
  3759                                                            matchExpressions:
  3760                                                              description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3761                                                              type: array
  3762                                                              items:
  3763                                                                description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3764                                                                type: object
  3765                                                                required:
  3766                                                                  - key
  3767                                                                  - operator
  3768                                                                properties:
  3769                                                                  key:
  3770                                                                    description: key is the label key that the selector applies to.
  3771                                                                    type: string
  3772                                                                  operator:
  3773                                                                    description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  3774                                                                    type: string
  3775                                                                  values:
  3776                                                                    description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  3777                                                                    type: array
  3778                                                                    items:
  3779                                                                      type: string
  3780                                                            matchLabels:
  3781                                                              description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  3782                                                              type: object
  3783                                                              additionalProperties:
  3784                                                                type: string
  3785                                                          x-kubernetes-map-type: atomic
  3786                                                        namespaceSelector:
  3787                                                          description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  3788                                                          type: object
  3789                                                          properties:
  3790                                                            matchExpressions:
  3791                                                              description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3792                                                              type: array
  3793                                                              items:
  3794                                                                description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3795                                                                type: object
  3796                                                                required:
  3797                                                                  - key
  3798                                                                  - operator
  3799                                                                properties:
  3800                                                                  key:
  3801                                                                    description: key is the label key that the selector applies to.
  3802                                                                    type: string
  3803                                                                  operator:
  3804                                                                    description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  3805                                                                    type: string
  3806                                                                  values:
  3807                                                                    description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  3808                                                                    type: array
  3809                                                                    items:
  3810                                                                      type: string
  3811                                                            matchLabels:
  3812                                                              description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  3813                                                              type: object
  3814                                                              additionalProperties:
  3815                                                                type: string
  3816                                                          x-kubernetes-map-type: atomic
  3817                                                        namespaces:
  3818                                                          description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  3819                                                          type: array
  3820                                                          items:
  3821                                                            type: string
  3822                                                        topologyKey:
  3823                                                          description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  3824                                                          type: string
  3825                                              podAntiAffinity:
  3826                                                description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
  3827                                                type: object
  3828                                                properties:
  3829                                                  preferredDuringSchedulingIgnoredDuringExecution:
  3830                                                    description: The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
  3831                                                    type: array
  3832                                                    items:
  3833                                                      description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
  3834                                                      type: object
  3835                                                      required:
  3836                                                        - podAffinityTerm
  3837                                                        - weight
  3838                                                      properties:
  3839                                                        podAffinityTerm:
  3840                                                          description: Required. A pod affinity term, associated with the corresponding weight.
  3841                                                          type: object
  3842                                                          required:
  3843                                                            - topologyKey
  3844                                                          properties:
  3845                                                            labelSelector:
  3846                                                              description: A label query over a set of resources, in this case pods.
  3847                                                              type: object
  3848                                                              properties:
  3849                                                                matchExpressions:
  3850                                                                  description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3851                                                                  type: array
  3852                                                                  items:
  3853                                                                    description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3854                                                                    type: object
  3855                                                                    required:
  3856                                                                      - key
  3857                                                                      - operator
  3858                                                                    properties:
  3859                                                                      key:
  3860                                                                        description: key is the label key that the selector applies to.
  3861                                                                        type: string
  3862                                                                      operator:
  3863                                                                        description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  3864                                                                        type: string
  3865                                                                      values:
  3866                                                                        description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  3867                                                                        type: array
  3868                                                                        items:
  3869                                                                          type: string
  3870                                                                matchLabels:
  3871                                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  3872                                                                  type: object
  3873                                                                  additionalProperties:
  3874                                                                    type: string
  3875                                                              x-kubernetes-map-type: atomic
  3876                                                            namespaceSelector:
  3877                                                              description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  3878                                                              type: object
  3879                                                              properties:
  3880                                                                matchExpressions:
  3881                                                                  description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3882                                                                  type: array
  3883                                                                  items:
  3884                                                                    description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3885                                                                    type: object
  3886                                                                    required:
  3887                                                                      - key
  3888                                                                      - operator
  3889                                                                    properties:
  3890                                                                      key:
  3891                                                                        description: key is the label key that the selector applies to.
  3892                                                                        type: string
  3893                                                                      operator:
  3894                                                                        description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  3895                                                                        type: string
  3896                                                                      values:
  3897                                                                        description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  3898                                                                        type: array
  3899                                                                        items:
  3900                                                                          type: string
  3901                                                                matchLabels:
  3902                                                                  description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  3903                                                                  type: object
  3904                                                                  additionalProperties:
  3905                                                                    type: string
  3906                                                              x-kubernetes-map-type: atomic
  3907                                                            namespaces:
  3908                                                              description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  3909                                                              type: array
  3910                                                              items:
  3911                                                                type: string
  3912                                                            topologyKey:
  3913                                                              description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  3914                                                              type: string
  3915                                                        weight:
  3916                                                          description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
  3917                                                          type: integer
  3918                                                          format: int32
  3919                                                  requiredDuringSchedulingIgnoredDuringExecution:
  3920                                                    description: If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
  3921                                                    type: array
  3922                                                    items:
  3923                                                      description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
  3924                                                      type: object
  3925                                                      required:
  3926                                                        - topologyKey
  3927                                                      properties:
  3928                                                        labelSelector:
  3929                                                          description: A label query over a set of resources, in this case pods.
  3930                                                          type: object
  3931                                                          properties:
  3932                                                            matchExpressions:
  3933                                                              description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3934                                                              type: array
  3935                                                              items:
  3936                                                                description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3937                                                                type: object
  3938                                                                required:
  3939                                                                  - key
  3940                                                                  - operator
  3941                                                                properties:
  3942                                                                  key:
  3943                                                                    description: key is the label key that the selector applies to.
  3944                                                                    type: string
  3945                                                                  operator:
  3946                                                                    description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  3947                                                                    type: string
  3948                                                                  values:
  3949                                                                    description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  3950                                                                    type: array
  3951                                                                    items:
  3952                                                                      type: string
  3953                                                            matchLabels:
  3954                                                              description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  3955                                                              type: object
  3956                                                              additionalProperties:
  3957                                                                type: string
  3958                                                          x-kubernetes-map-type: atomic
  3959                                                        namespaceSelector:
  3960                                                          description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
  3961                                                          type: object
  3962                                                          properties:
  3963                                                            matchExpressions:
  3964                                                              description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
  3965                                                              type: array
  3966                                                              items:
  3967                                                                description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
  3968                                                                type: object
  3969                                                                required:
  3970                                                                  - key
  3971                                                                  - operator
  3972                                                                properties:
  3973                                                                  key:
  3974                                                                    description: key is the label key that the selector applies to.
  3975                                                                    type: string
  3976                                                                  operator:
  3977                                                                    description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
  3978                                                                    type: string
  3979                                                                  values:
  3980                                                                    description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
  3981                                                                    type: array
  3982                                                                    items:
  3983                                                                      type: string
  3984                                                            matchLabels:
  3985                                                              description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
  3986                                                              type: object
  3987                                                              additionalProperties:
  3988                                                                type: string
  3989                                                          x-kubernetes-map-type: atomic
  3990                                                        namespaces:
  3991                                                          description: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
  3992                                                          type: array
  3993                                                          items:
  3994                                                            type: string
  3995                                                        topologyKey:
  3996                                                          description: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
  3997                                                          type: string
  3998                                          imagePullSecrets:
  3999                                            description: If specified, the pod's imagePullSecrets
  4000                                            type: array
  4001                                            items:
  4002                                              description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
  4003                                              type: object
  4004                                              properties:
  4005                                                name:
  4006                                                  description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
  4007                                                  type: string
  4008                                              x-kubernetes-map-type: atomic
  4009                                          nodeSelector:
  4010                                            description: 'NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node''s labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
  4011                                            type: object
  4012                                            additionalProperties:
  4013                                              type: string
  4014                                          priorityClassName:
  4015                                            description: If specified, the pod's priorityClassName.
  4016                                            type: string
  4017                                          serviceAccountName:
  4018                                            description: If specified, the pod's service account
  4019                                            type: string
  4020                                          tolerations:
  4021                                            description: If specified, the pod's tolerations.
  4022                                            type: array
  4023                                            items:
  4024                                              description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
  4025                                              type: object
  4026                                              properties:
  4027                                                effect:
  4028                                                  description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  4029                                                  type: string
  4030                                                key:
  4031                                                  description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  4032                                                  type: string
  4033                                                operator:
  4034                                                  description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
  4035                                                  type: string
  4036                                                tolerationSeconds:
  4037                                                  description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
  4038                                                  type: integer
  4039                                                  format: int64
  4040                                                value:
  4041                                                  description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
  4042                                                  type: string
  4043                                  serviceType:
  4044                                    description: Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort.
  4045                                    type: string
  4046                          selector:
  4047                            description: Selector selects a set of DNSNames on the Certificate resource that should be solved using this challenge solver. If not specified, the solver will be treated as the 'default' solver with the lowest priority, i.e. if any other solver has a more specific match, it will be used instead.
  4048                            type: object
  4049                            properties:
  4050                              dnsNames:
  4051                                description: List of DNSNames that this solver will be used to solve. If specified and a match is found, a dnsNames selector will take precedence over a dnsZones selector. If multiple solvers match with the same dnsNames value, the solver with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected.
  4052                                type: array
  4053                                items:
  4054                                  type: string
  4055                              dnsZones:
  4056                                description: List of DNSZones that this solver will be used to solve. The most specific DNS zone match specified here will take precedence over other DNS zone matches, so a solver specifying sys.example.com will be selected over one specifying example.com for the domain www.sys.example.com. If multiple solvers match with the same dnsZones value, the solver with the most matching labels in matchLabels will be selected. If neither has more matches, the solver defined earlier in the list will be selected.
  4057                                type: array
  4058                                items:
  4059                                  type: string
  4060                              matchLabels:
  4061                                description: A label selector that is used to refine the set of certificate's that this challenge solver will apply to.
  4062                                type: object
  4063                                additionalProperties:
  4064                                  type: string
  4065                ca:
  4066                  description: CA configures this issuer to sign certificates using a signing CA keypair stored in a Secret resource. This is used to build internal PKIs that are managed by cert-manager.
  4067                  type: object
  4068                  required:
  4069                    - secretName
  4070                  properties:
  4071                    crlDistributionPoints:
  4072                      description: The CRL distribution points is an X.509 v3 certificate extension which identifies the location of the CRL from which the revocation of this certificate can be checked. If not set, certificates will be issued without distribution points set.
  4073                      type: array
  4074                      items:
  4075                        type: string
  4076                    ocspServers:
  4077                      description: The OCSP server list is an X.509 v3 extension that defines a list of URLs of OCSP responders. The OCSP responders can be queried for the revocation status of an issued certificate. If not set, the certificate will be issued with no OCSP servers set. For example, an OCSP server URL could be "http://ocsp.int-x3.letsencrypt.org".
  4078                      type: array
  4079                      items:
  4080                        type: string
  4081                    secretName:
  4082                      description: SecretName is the name of the secret used to sign Certificates issued by this Issuer.
  4083                      type: string
  4084                selfSigned:
  4085                  description: SelfSigned configures this issuer to 'self sign' certificates using the private key used to create the CertificateRequest object.
  4086                  type: object
  4087                  properties:
  4088                    crlDistributionPoints:
  4089                      description: The CRL distribution points is an X.509 v3 certificate extension which identifies the location of the CRL from which the revocation of this certificate can be checked. If not set certificate will be issued without CDP. Values are strings.
  4090                      type: array
  4091                      items:
  4092                        type: string
  4093                vault:
  4094                  description: Vault configures this issuer to sign certificates using a HashiCorp Vault PKI backend.
  4095                  type: object
  4096                  required:
  4097                    - auth
  4098                    - path
  4099                    - server
  4100                  properties:
  4101                    auth:
  4102                      description: Auth configures how cert-manager authenticates with the Vault server.
  4103                      type: object
  4104                      properties:
  4105                        appRole:
  4106                          description: AppRole authenticates with Vault using the App Role auth mechanism, with the role and secret stored in a Kubernetes Secret resource.
  4107                          type: object
  4108                          required:
  4109                            - path
  4110                            - roleId
  4111                            - secretRef
  4112                          properties:
  4113                            path:
  4114                              description: 'Path where the App Role authentication backend is mounted in Vault, e.g: "approle"'
  4115                              type: string
  4116                            roleId:
  4117                              description: RoleID configured in the App Role authentication backend when setting up the authentication backend in Vault.
  4118                              type: string
  4119                            secretRef:
  4120                              description: Reference to a key in a Secret that contains the App Role secret used to authenticate with Vault. The `key` field must be specified and denotes which entry within the Secret resource is used as the app role secret.
  4121                              type: object
  4122                              required:
  4123                                - name
  4124                              properties:
  4125                                key:
  4126                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  4127                                  type: string
  4128                                name:
  4129                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  4130                                  type: string
  4131                        kubernetes:
  4132                          description: Kubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server.
  4133                          type: object
  4134                          required:
  4135                            - role
  4136                          properties:
  4137                            mountPath:
  4138                              description: The Vault mountPath here is the mount path to use when authenticating with Vault. For example, setting a value to `/v1/auth/foo`, will use the path `/v1/auth/foo/login` to authenticate with Vault. If unspecified, the default value "/v1/auth/kubernetes" will be used.
  4139                              type: string
  4140                            role:
  4141                              description: A required field containing the Vault Role to assume. A Role binds a Kubernetes ServiceAccount with a set of Vault policies.
  4142                              type: string
  4143                            secretRef:
  4144                              description: The required Secret field containing a Kubernetes ServiceAccount JWT used for authenticating with Vault. Use of 'ambient credentials' is not supported.
  4145                              type: object
  4146                              required:
  4147                                - name
  4148                              properties:
  4149                                key:
  4150                                  description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  4151                                  type: string
  4152                                name:
  4153                                  description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  4154                                  type: string
  4155                            serviceAccountRef:
  4156                              description: A reference to a service account that will be used to request a bound token (also known as "projected token"). Compared to using "secretRef", using this field means that you don't rely on statically bound tokens. To use this field, you must configure an RBAC rule to let cert-manager request a token.
  4157                              type: object
  4158                              required:
  4159                                - name
  4160                              properties:
  4161                                name:
  4162                                  description: Name of the ServiceAccount used to request a token.
  4163                                  type: string
  4164                        tokenSecretRef:
  4165                          description: TokenSecretRef authenticates with Vault by presenting a token.
  4166                          type: object
  4167                          required:
  4168                            - name
  4169                          properties:
  4170                            key:
  4171                              description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  4172                              type: string
  4173                            name:
  4174                              description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  4175                              type: string
  4176                    caBundle:
  4177                      description: Base64-encoded bundle of PEM CAs which will be used to validate the certificate chain presented by Vault. Only used if using HTTPS to connect to Vault and ignored for HTTP connections. Mutually exclusive with CABundleSecretRef. If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in the cert-manager controller container is used to validate the TLS connection.
  4178                      type: string
  4179                      format: byte
  4180                    caBundleSecretRef:
  4181                      description: Reference to a Secret containing a bundle of PEM-encoded CAs to use when verifying the certificate chain presented by Vault when using HTTPS. Mutually exclusive with CABundle. If neither CABundle nor CABundleSecretRef are defined, the certificate bundle in the cert-manager controller container is used to validate the TLS connection. If no key for the Secret is specified, cert-manager will default to 'ca.crt'.
  4182                      type: object
  4183                      required:
  4184                        - name
  4185                      properties:
  4186                        key:
  4187                          description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  4188                          type: string
  4189                        name:
  4190                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  4191                          type: string
  4192                    namespace:
  4193                      description: 'Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows Vault environments to support Secure Multi-tenancy. e.g: "ns1" More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces'
  4194                      type: string
  4195                    path:
  4196                      description: 'Path is the mount path of the Vault PKI backend''s `sign` endpoint, e.g: "my_pki_mount/sign/my-role-name".'
  4197                      type: string
  4198                    server:
  4199                      description: 'Server is the connection address for the Vault server, e.g: "https://vault.example.com:8200".'
  4200                      type: string
  4201                venafi:
  4202                  description: Venafi configures this issuer to sign certificates using a Venafi TPP or Venafi Cloud policy zone.
  4203                  type: object
  4204                  required:
  4205                    - zone
  4206                  properties:
  4207                    cloud:
  4208                      description: Cloud specifies the Venafi cloud configuration settings. Only one of TPP or Cloud may be specified.
  4209                      type: object
  4210                      required:
  4211                        - apiTokenSecretRef
  4212                      properties:
  4213                        apiTokenSecretRef:
  4214                          description: APITokenSecretRef is a secret key selector for the Venafi Cloud API token.
  4215                          type: object
  4216                          required:
  4217                            - name
  4218                          properties:
  4219                            key:
  4220                              description: The key of the entry in the Secret resource's `data` field to be used. Some instances of this field may be defaulted, in others it may be required.
  4221                              type: string
  4222                            name:
  4223                              description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  4224                              type: string
  4225                        url:
  4226                          description: URL is the base URL for Venafi Cloud. Defaults to "https://api.venafi.cloud/v1".
  4227                          type: string
  4228                    tpp:
  4229                      description: TPP specifies Trust Protection Platform configuration settings. Only one of TPP or Cloud may be specified.
  4230                      type: object
  4231                      required:
  4232                        - credentialsRef
  4233                        - url
  4234                      properties:
  4235                        caBundle:
  4236                          description: Base64-encoded bundle of PEM CAs which will be used to validate the certificate chain presented by the TPP server. Only used if using HTTPS; ignored for HTTP. If undefined, the certificate bundle in the cert-manager controller container is used to validate the chain.
  4237                          type: string
  4238                          format: byte
  4239                        credentialsRef:
  4240                          description: CredentialsRef is a reference to a Secret containing the username and password for the TPP server. The secret must contain two keys, 'username' and 'password'.
  4241                          type: object
  4242                          required:
  4243                            - name
  4244                          properties:
  4245                            name:
  4246                              description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  4247                              type: string
  4248                        url:
  4249                          description: 'URL is the base URL for the vedsdk endpoint of the Venafi TPP instance, for example: "https://tpp.example.com/vedsdk".'
  4250                          type: string
  4251                    zone:
  4252                      description: Zone is the Venafi Policy Zone to use for this issuer. All requests made to the Venafi platform will be restricted by the named zone policy. This field is required.
  4253                      type: string
  4254            status:
  4255              description: Status of the Issuer. This is set and managed automatically.
  4256              type: object
  4257              properties:
  4258                acme:
  4259                  description: ACME specific status options. This field should only be set if the Issuer is configured to use an ACME server to issue certificates.
  4260                  type: object
  4261                  properties:
  4262                    lastPrivateKeyHash:
  4263                      description: LastPrivateKeyHash is a hash of the private key associated with the latest registered ACME account, in order to track changes made to registered account associated with the Issuer
  4264                      type: string
  4265                    lastRegisteredEmail:
  4266                      description: LastRegisteredEmail is the email associated with the latest registered ACME account, in order to track changes made to registered account associated with the  Issuer
  4267                      type: string
  4268                    uri:
  4269                      description: URI is the unique account identifier, which can also be used to retrieve account details from the CA
  4270                      type: string
  4271                conditions:
  4272                  description: List of status conditions to indicate the status of a CertificateRequest. Known condition types are `Ready`.
  4273                  type: array
  4274                  items:
  4275                    description: IssuerCondition contains condition information for an Issuer.
  4276                    type: object
  4277                    required:
  4278                      - status
  4279                      - type
  4280                    properties:
  4281                      lastTransitionTime:
  4282                        description: LastTransitionTime is the timestamp corresponding to the last status change of this condition.
  4283                        type: string
  4284                        format: date-time
  4285                      message:
  4286                        description: Message is a human readable description of the details of the last transition, complementing reason.
  4287                        type: string
  4288                      observedGeneration:
  4289                        description: If set, this represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date with respect to the current state of the Issuer.
  4290                        type: integer
  4291                        format: int64
  4292                      reason:
  4293                        description: Reason is a brief machine readable explanation for the condition's last transition.
  4294                        type: string
  4295                      status:
  4296                        description: Status of the condition, one of (`True`, `False`, `Unknown`).
  4297                        type: string
  4298                        enum:
  4299                          - "True"
  4300                          - "False"
  4301                          - Unknown
  4302                      type:
  4303                        description: Type of the condition, known values are (`Ready`).
  4304                        type: string
  4305                  x-kubernetes-list-map-keys:
  4306                    - type
  4307                  x-kubernetes-list-type: map
  4308      served: true
  4309      storage: true
  4310---
  4311# Source: cert-manager/templates/crds.yaml
  4312apiVersion: apiextensions.k8s.io/v1
  4313kind: CustomResourceDefinition
  4314metadata:
  4315  name: orders.acme.cert-manager.io
  4316  labels:
  4317    app: 'cert-manager'
  4318    app.kubernetes.io/name: 'cert-manager'
  4319    app.kubernetes.io/instance: 'cert-manager'
  4320    # Generated labels
  4321    app.kubernetes.io/version: "v1.12.12"
  4322spec:
  4323  group: acme.cert-manager.io
  4324  names:
  4325    kind: Order
  4326    listKind: OrderList
  4327    plural: orders
  4328    singular: order
  4329    categories:
  4330      - cert-manager
  4331      - cert-manager-acme
  4332  scope: Namespaced
  4333  versions:
  4334    - name: v1
  4335      subresources:
  4336        status: {}
  4337      additionalPrinterColumns:
  4338        - jsonPath: .status.state
  4339          name: State
  4340          type: string
  4341        - jsonPath: .spec.issuerRef.name
  4342          name: Issuer
  4343          priority: 1
  4344          type: string
  4345        - jsonPath: .status.reason
  4346          name: Reason
  4347          priority: 1
  4348          type: string
  4349        - jsonPath: .metadata.creationTimestamp
  4350          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.
  4351          name: Age
  4352          type: date
  4353      schema:
  4354        openAPIV3Schema:
  4355          description: Order is a type to represent an Order with an ACME server
  4356          type: object
  4357          required:
  4358            - metadata
  4359            - spec
  4360          properties:
  4361            apiVersion:
  4362              description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  4363              type: string
  4364            kind:
  4365              description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  4366              type: string
  4367            metadata:
  4368              type: object
  4369            spec:
  4370              type: object
  4371              required:
  4372                - issuerRef
  4373                - request
  4374              properties:
  4375                commonName:
  4376                  description: CommonName is the common name as specified on the DER encoded CSR. If specified, this value must also be present in `dnsNames` or `ipAddresses`. This field must match the corresponding field on the DER encoded CSR.
  4377                  type: string
  4378                dnsNames:
  4379                  description: DNSNames is a list of DNS names that should be included as part of the Order validation process. This field must match the corresponding field on the DER encoded CSR.
  4380                  type: array
  4381                  items:
  4382                    type: string
  4383                duration:
  4384                  description: Duration is the duration for the not after date for the requested certificate. this is set on order creation as pe the ACME spec.
  4385                  type: string
  4386                ipAddresses:
  4387                  description: IPAddresses is a list of IP addresses that should be included as part of the Order validation process. This field must match the corresponding field on the DER encoded CSR.
  4388                  type: array
  4389                  items:
  4390                    type: string
  4391                issuerRef:
  4392                  description: IssuerRef references a properly configured ACME-type Issuer which should be used to create this Order. If the Issuer does not exist, processing will be retried. If the Issuer is not an 'ACME' Issuer, an error will be returned and the Order will be marked as failed.
  4393                  type: object
  4394                  required:
  4395                    - name
  4396                  properties:
  4397                    group:
  4398                      description: Group of the resource being referred to.
  4399                      type: string
  4400                    kind:
  4401                      description: Kind of the resource being referred to.
  4402                      type: string
  4403                    name:
  4404                      description: Name of the resource being referred to.
  4405                      type: string
  4406                request:
  4407                  description: Certificate signing request bytes in DER encoding. This will be used when finalizing the order. This field must be set on the order.
  4408                  type: string
  4409                  format: byte
  4410            status:
  4411              type: object
  4412              properties:
  4413                authorizations:
  4414                  description: Authorizations contains data returned from the ACME server on what authorizations must be completed in order to validate the DNS names specified on the Order.
  4415                  type: array
  4416                  items:
  4417                    description: ACMEAuthorization contains data returned from the ACME server on an authorization that must be completed in order validate a DNS name on an ACME Order resource.
  4418                    type: object
  4419                    required:
  4420                      - url
  4421                    properties:
  4422                      challenges:
  4423                        description: Challenges specifies the challenge types offered by the ACME server. One of these challenge types will be selected when validating the DNS name and an appropriate Challenge resource will be created to perform the ACME challenge process.
  4424                        type: array
  4425                        items:
  4426                          description: Challenge specifies a challenge offered by the ACME server for an Order. An appropriate Challenge resource can be created to perform the ACME challenge process.
  4427                          type: object
  4428                          required:
  4429                            - token
  4430                            - type
  4431                            - url
  4432                          properties:
  4433                            token:
  4434                              description: Token is the token that must be presented for this challenge. This is used to compute the 'key' that must also be presented.
  4435                              type: string
  4436                            type:
  4437                              description: Type is the type of challenge being offered, e.g. 'http-01', 'dns-01', 'tls-sni-01', etc. This is the raw value retrieved from the ACME server. Only 'http-01' and 'dns-01' are supported by cert-manager, other values will be ignored.
  4438                              type: string
  4439                            url:
  4440                              description: URL is the URL of this challenge. It can be used to retrieve additional metadata about the Challenge from the ACME server.
  4441                              type: string
  4442                      identifier:
  4443                        description: Identifier is the DNS name to be validated as part of this authorization
  4444                        type: string
  4445                      initialState:
  4446                        description: InitialState is the initial state of the ACME authorization when first fetched from the ACME server. If an Authorization is already 'valid', the Order controller will not create a Challenge resource for the authorization. This will occur when working with an ACME server that enables 'authz reuse' (such as Let's Encrypt's production endpoint). If not set and 'identifier' is set, the state is assumed to be pending and a Challenge will be created.
  4447                        type: string
  4448                        enum:
  4449                          - valid
  4450                          - ready
  4451                          - pending
  4452                          - processing
  4453                          - invalid
  4454                          - expired
  4455                          - errored
  4456                      url:
  4457                        description: URL is the URL of the Authorization that must be completed
  4458                        type: string
  4459                      wildcard:
  4460                        description: Wildcard will be true if this authorization is for a wildcard DNS name. If this is true, the identifier will be the *non-wildcard* version of the DNS name. For example, if '*.example.com' is the DNS name being validated, this field will be 'true' and the 'identifier' field will be 'example.com'.
  4461                        type: boolean
  4462                certificate:
  4463                  description: Certificate is a copy of the PEM encoded certificate for this Order. This field will be populated after the order has been successfully finalized with the ACME server, and the order has transitioned to the 'valid' state.
  4464                  type: string
  4465                  format: byte
  4466                failureTime:
  4467                  description: FailureTime stores the time that this order failed. This is used to influence garbage collection and back-off.
  4468                  type: string
  4469                  format: date-time
  4470                finalizeURL:
  4471                  description: FinalizeURL of the Order. This is used to obtain certificates for this order once it has been completed.
  4472                  type: string
  4473                reason:
  4474                  description: Reason optionally provides more information about a why the order is in the current state.
  4475                  type: string
  4476                state:
  4477                  description: State contains the current state of this Order resource. States 'success' and 'expired' are 'final'
  4478                  type: string
  4479                  enum:
  4480                    - valid
  4481                    - ready
  4482                    - pending
  4483                    - processing
  4484                    - invalid
  4485                    - expired
  4486                    - errored
  4487                url:
  4488                  description: URL of the Order. This will initially be empty when the resource is first created. The Order controller will populate this field when the Order is first processed. This field will be immutable after it is initially set.
  4489                  type: string
  4490      served: true
  4491      storage: true
  4492---
  4493# Source: cert-manager/templates/cainjector-serviceaccount.yaml
  4494apiVersion: v1
  4495kind: ServiceAccount
  4496automountServiceAccountToken: true
  4497metadata:
  4498  name: cert-manager-cainjector
  4499  namespace: cert-manager
  4500  labels:
  4501    app: cainjector
  4502    app.kubernetes.io/name: cainjector
  4503    app.kubernetes.io/instance: cert-manager
  4504    app.kubernetes.io/component: "cainjector"
  4505    app.kubernetes.io/version: "v1.12.12"
  4506---
  4507# Source: cert-manager/templates/serviceaccount.yaml
  4508apiVersion: v1
  4509kind: ServiceAccount
  4510automountServiceAccountToken: true
  4511metadata:
  4512  name: cert-manager
  4513  namespace: cert-manager
  4514  labels:
  4515    app: cert-manager
  4516    app.kubernetes.io/name: cert-manager
  4517    app.kubernetes.io/instance: cert-manager
  4518    app.kubernetes.io/component: "controller"
  4519    app.kubernetes.io/version: "v1.12.12"
  4520---
  4521# Source: cert-manager/templates/webhook-serviceaccount.yaml
  4522apiVersion: v1
  4523kind: ServiceAccount
  4524automountServiceAccountToken: true
  4525metadata:
  4526  name: cert-manager-webhook
  4527  namespace: cert-manager
  4528  labels:
  4529    app: webhook
  4530    app.kubernetes.io/name: webhook
  4531    app.kubernetes.io/instance: cert-manager
  4532    app.kubernetes.io/component: "webhook"
  4533    app.kubernetes.io/version: "v1.12.12"
  4534---
  4535# Source: cert-manager/templates/webhook-config.yaml
  4536apiVersion: v1
  4537kind: ConfigMap
  4538metadata:
  4539  name: cert-manager-webhook
  4540  namespace: cert-manager
  4541  labels:
  4542    app: webhook
  4543    app.kubernetes.io/name: webhook
  4544    app.kubernetes.io/instance: cert-manager
  4545    app.kubernetes.io/component: "webhook"
  4546    app.kubernetes.io/version: "v1.12.12"
  4547data:
  4548---
  4549# Source: cert-manager/templates/cainjector-rbac.yaml
  4550apiVersion: rbac.authorization.k8s.io/v1
  4551kind: ClusterRole
  4552metadata:
  4553  name: cert-manager-cainjector
  4554  labels:
  4555    app: cainjector
  4556    app.kubernetes.io/name: cainjector
  4557    app.kubernetes.io/instance: cert-manager
  4558    app.kubernetes.io/component: "cainjector"
  4559    app.kubernetes.io/version: "v1.12.12"
  4560rules:
  4561  - apiGroups: ["cert-manager.io"]
  4562    resources: ["certificates"]
  4563    verbs: ["get", "list", "watch"]
  4564  - apiGroups: [""]
  4565    resources: ["secrets"]
  4566    verbs: ["get", "list", "watch"]
  4567  - apiGroups: [""]
  4568    resources: ["events"]
  4569    verbs: ["get", "create", "update", "patch"]
  4570  - apiGroups: ["admissionregistration.k8s.io"]
  4571    resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
  4572    verbs: ["get", "list", "watch", "update", "patch"]
  4573  - apiGroups: ["apiregistration.k8s.io"]
  4574    resources: ["apiservices"]
  4575    verbs: ["get", "list", "watch", "update", "patch"]
  4576  - apiGroups: ["apiextensions.k8s.io"]
  4577    resources: ["customresourcedefinitions"]
  4578    verbs: ["get", "list", "watch", "update", "patch"]
  4579---
  4580# Source: cert-manager/templates/rbac.yaml
  4581# Issuer controller role
  4582apiVersion: rbac.authorization.k8s.io/v1
  4583kind: ClusterRole
  4584metadata:
  4585  name: cert-manager-controller-issuers
  4586  labels:
  4587    app: cert-manager
  4588    app.kubernetes.io/name: cert-manager
  4589    app.kubernetes.io/instance: cert-manager
  4590    app.kubernetes.io/component: "controller"
  4591    app.kubernetes.io/version: "v1.12.12"
  4592rules:
  4593  - apiGroups: ["cert-manager.io"]
  4594    resources: ["issuers", "issuers/status"]
  4595    verbs: ["update", "patch"]
  4596  - apiGroups: ["cert-manager.io"]
  4597    resources: ["issuers"]
  4598    verbs: ["get", "list", "watch"]
  4599  - apiGroups: [""]
  4600    resources: ["secrets"]
  4601    verbs: ["get", "list", "watch", "create", "update", "delete"]
  4602  - apiGroups: [""]
  4603    resources: ["events"]
  4604    verbs: ["create", "patch"]
  4605---
  4606# Source: cert-manager/templates/rbac.yaml
  4607# ClusterIssuer controller role
  4608apiVersion: rbac.authorization.k8s.io/v1
  4609kind: ClusterRole
  4610metadata:
  4611  name: cert-manager-controller-clusterissuers
  4612  labels:
  4613    app: cert-manager
  4614    app.kubernetes.io/name: cert-manager
  4615    app.kubernetes.io/instance: cert-manager
  4616    app.kubernetes.io/component: "controller"
  4617    app.kubernetes.io/version: "v1.12.12"
  4618rules:
  4619  - apiGroups: ["cert-manager.io"]
  4620    resources: ["clusterissuers", "clusterissuers/status"]
  4621    verbs: ["update", "patch"]
  4622  - apiGroups: ["cert-manager.io"]
  4623    resources: ["clusterissuers"]
  4624    verbs: ["get", "list", "watch"]
  4625  - apiGroups: [""]
  4626    resources: ["secrets"]
  4627    verbs: ["get", "list", "watch", "create", "update", "delete"]
  4628  - apiGroups: [""]
  4629    resources: ["events"]
  4630    verbs: ["create", "patch"]
  4631---
  4632# Source: cert-manager/templates/rbac.yaml
  4633# Certificates controller role
  4634apiVersion: rbac.authorization.k8s.io/v1
  4635kind: ClusterRole
  4636metadata:
  4637  name: cert-manager-controller-certificates
  4638  labels:
  4639    app: cert-manager
  4640    app.kubernetes.io/name: cert-manager
  4641    app.kubernetes.io/instance: cert-manager
  4642    app.kubernetes.io/component: "controller"
  4643    app.kubernetes.io/version: "v1.12.12"
  4644rules:
  4645  - apiGroups: ["cert-manager.io"]
  4646    resources: ["certificates", "certificates/status", "certificaterequests", "certificaterequests/status"]
  4647    verbs: ["update", "patch"]
  4648  - apiGroups: ["cert-manager.io"]
  4649    resources: ["certificates", "certificaterequests", "clusterissuers", "issuers"]
  4650    verbs: ["get", "list", "watch"]
  4651  # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  4652  # admission controller enabled:
  4653  # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  4654  - apiGroups: ["cert-manager.io"]
  4655    resources: ["certificates/finalizers", "certificaterequests/finalizers"]
  4656    verbs: ["update"]
  4657  - apiGroups: ["acme.cert-manager.io"]
  4658    resources: ["orders"]
  4659    verbs: ["create", "delete", "get", "list", "watch"]
  4660  - apiGroups: [""]
  4661    resources: ["secrets"]
  4662    verbs: ["get", "list", "watch", "create", "update", "delete", "patch"]
  4663  - apiGroups: [""]
  4664    resources: ["events"]
  4665    verbs: ["create", "patch"]
  4666---
  4667# Source: cert-manager/templates/rbac.yaml
  4668# Orders controller role
  4669apiVersion: rbac.authorization.k8s.io/v1
  4670kind: ClusterRole
  4671metadata:
  4672  name: cert-manager-controller-orders
  4673  labels:
  4674    app: cert-manager
  4675    app.kubernetes.io/name: cert-manager
  4676    app.kubernetes.io/instance: cert-manager
  4677    app.kubernetes.io/component: "controller"
  4678    app.kubernetes.io/version: "v1.12.12"
  4679rules:
  4680  - apiGroups: ["acme.cert-manager.io"]
  4681    resources: ["orders", "orders/status"]
  4682    verbs: ["update", "patch"]
  4683  - apiGroups: ["acme.cert-manager.io"]
  4684    resources: ["orders", "challenges"]
  4685    verbs: ["get", "list", "watch"]
  4686  - apiGroups: ["cert-manager.io"]
  4687    resources: ["clusterissuers", "issuers"]
  4688    verbs: ["get", "list", "watch"]
  4689  - apiGroups: ["acme.cert-manager.io"]
  4690    resources: ["challenges"]
  4691    verbs: ["create", "delete"]
  4692  # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  4693  # admission controller enabled:
  4694  # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  4695  - apiGroups: ["acme.cert-manager.io"]
  4696    resources: ["orders/finalizers"]
  4697    verbs: ["update"]
  4698  - apiGroups: [""]
  4699    resources: ["secrets"]
  4700    verbs: ["get", "list", "watch"]
  4701  - apiGroups: [""]
  4702    resources: ["events"]
  4703    verbs: ["create", "patch"]
  4704---
  4705# Source: cert-manager/templates/rbac.yaml
  4706# Challenges controller role
  4707apiVersion: rbac.authorization.k8s.io/v1
  4708kind: ClusterRole
  4709metadata:
  4710  name: cert-manager-controller-challenges
  4711  labels:
  4712    app: cert-manager
  4713    app.kubernetes.io/name: cert-manager
  4714    app.kubernetes.io/instance: cert-manager
  4715    app.kubernetes.io/component: "controller"
  4716    app.kubernetes.io/version: "v1.12.12"
  4717rules:
  4718  # Use to update challenge resource status
  4719  - apiGroups: ["acme.cert-manager.io"]
  4720    resources: ["challenges", "challenges/status"]
  4721    verbs: ["update", "patch"]
  4722  # Used to watch challenge resources
  4723  - apiGroups: ["acme.cert-manager.io"]
  4724    resources: ["challenges"]
  4725    verbs: ["get", "list", "watch"]
  4726  # Used to watch challenges, issuer and clusterissuer resources
  4727  - apiGroups: ["cert-manager.io"]
  4728    resources: ["issuers", "clusterissuers"]
  4729    verbs: ["get", "list", "watch"]
  4730  # Need to be able to retrieve ACME account private key to complete challenges
  4731  - apiGroups: [""]
  4732    resources: ["secrets"]
  4733    verbs: ["get", "list", "watch"]
  4734  # Used to create events
  4735  - apiGroups: [""]
  4736    resources: ["events"]
  4737    verbs: ["create", "patch"]
  4738  # HTTP01 rules
  4739  - apiGroups: [""]
  4740    resources: ["pods", "services"]
  4741    verbs: ["get", "list", "watch", "create", "delete"]
  4742  - apiGroups: ["networking.k8s.io"]
  4743    resources: ["ingresses"]
  4744    verbs: ["get", "list", "watch", "create", "delete", "update"]
  4745  - apiGroups: [ "gateway.networking.k8s.io" ]
  4746    resources: [ "httproutes" ]
  4747    verbs: ["get", "list", "watch", "create", "delete", "update"]
  4748  # We require the ability to specify a custom hostname when we are creating
  4749  # new ingress resources.
  4750  # See: https://github.com/openshift/origin/blob/21f191775636f9acadb44fa42beeb4f75b255532/pkg/route/apiserver/admission/ingress_admission.go#L84-L148
  4751  - apiGroups: ["route.openshift.io"]
  4752    resources: ["routes/custom-host"]
  4753    verbs: ["create"]
  4754  # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  4755  # admission controller enabled:
  4756  # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  4757  - apiGroups: ["acme.cert-manager.io"]
  4758    resources: ["challenges/finalizers"]
  4759    verbs: ["update"]
  4760  # DNS01 rules (duplicated above)
  4761  - apiGroups: [""]
  4762    resources: ["secrets"]
  4763    verbs: ["get", "list", "watch"]
  4764---
  4765# Source: cert-manager/templates/rbac.yaml
  4766# ingress-shim controller role
  4767apiVersion: rbac.authorization.k8s.io/v1
  4768kind: ClusterRole
  4769metadata:
  4770  name: cert-manager-controller-ingress-shim
  4771  labels:
  4772    app: cert-manager
  4773    app.kubernetes.io/name: cert-manager
  4774    app.kubernetes.io/instance: cert-manager
  4775    app.kubernetes.io/component: "controller"
  4776    app.kubernetes.io/version: "v1.12.12"
  4777rules:
  4778  - apiGroups: ["cert-manager.io"]
  4779    resources: ["certificates", "certificaterequests"]
  4780    verbs: ["create", "update", "delete"]
  4781  - apiGroups: ["cert-manager.io"]
  4782    resources: ["certificates", "certificaterequests", "issuers", "clusterissuers"]
  4783    verbs: ["get", "list", "watch"]
  4784  - apiGroups: ["networking.k8s.io"]
  4785    resources: ["ingresses"]
  4786    verbs: ["get", "list", "watch"]
  4787  # We require these rules to support users with the OwnerReferencesPermissionEnforcement
  4788  # admission controller enabled:
  4789  # https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement
  4790  - apiGroups: ["networking.k8s.io"]
  4791    resources: ["ingresses/finalizers"]
  4792    verbs: ["update"]
  4793  - apiGroups: ["gateway.networking.k8s.io"]
  4794    resources: ["gateways", "httproutes"]
  4795    verbs: ["get", "list", "watch"]
  4796  - apiGroups: ["gateway.networking.k8s.io"]
  4797    resources: ["gateways/finalizers", "httproutes/finalizers"]
  4798    verbs: ["update"]
  4799  - apiGroups: [""]
  4800    resources: ["events"]
  4801    verbs: ["create", "patch"]
  4802---
  4803# Source: cert-manager/templates/rbac.yaml
  4804apiVersion: rbac.authorization.k8s.io/v1
  4805kind: ClusterRole
  4806metadata:
  4807  name: cert-manager-view
  4808  labels:
  4809    app: cert-manager
  4810    app.kubernetes.io/name: cert-manager
  4811    app.kubernetes.io/instance: cert-manager
  4812    app.kubernetes.io/component: "controller"
  4813    app.kubernetes.io/version: "v1.12.12"
  4814    rbac.authorization.k8s.io/aggregate-to-view: "true"
  4815    rbac.authorization.k8s.io/aggregate-to-edit: "true"
  4816    rbac.authorization.k8s.io/aggregate-to-admin: "true"
  4817rules:
  4818  - apiGroups: ["cert-manager.io"]
  4819    resources: ["certificates", "certificaterequests", "issuers"]
  4820    verbs: ["get", "list", "watch"]
  4821  - apiGroups: ["acme.cert-manager.io"]
  4822    resources: ["challenges", "orders"]
  4823    verbs: ["get", "list", "watch"]
  4824---
  4825# Source: cert-manager/templates/rbac.yaml
  4826apiVersion: rbac.authorization.k8s.io/v1
  4827kind: ClusterRole
  4828metadata:
  4829  name: cert-manager-edit
  4830  labels:
  4831    app: cert-manager
  4832    app.kubernetes.io/name: cert-manager
  4833    app.kubernetes.io/instance: cert-manager
  4834    app.kubernetes.io/component: "controller"
  4835    app.kubernetes.io/version: "v1.12.12"
  4836    rbac.authorization.k8s.io/aggregate-to-edit: "true"
  4837    rbac.authorization.k8s.io/aggregate-to-admin: "true"
  4838rules:
  4839  - apiGroups: ["cert-manager.io"]
  4840    resources: ["certificates", "certificaterequests", "issuers"]
  4841    verbs: ["create", "delete", "deletecollection", "patch", "update"]
  4842  - apiGroups: ["cert-manager.io"]
  4843    resources: ["certificates/status"]
  4844    verbs: ["update"]
  4845  - apiGroups: ["acme.cert-manager.io"]
  4846    resources: ["challenges", "orders"]
  4847    verbs: ["create", "delete", "deletecollection", "patch", "update"]
  4848---
  4849# Source: cert-manager/templates/rbac.yaml
  4850# Permission to approve CertificateRequests referencing cert-manager.io Issuers and ClusterIssuers
  4851apiVersion: rbac.authorization.k8s.io/v1
  4852kind: ClusterRole
  4853metadata:
  4854  name: cert-manager-controller-approve:cert-manager-io
  4855  labels:
  4856    app: cert-manager
  4857    app.kubernetes.io/name: cert-manager
  4858    app.kubernetes.io/instance: cert-manager
  4859    app.kubernetes.io/component: "cert-manager"
  4860    app.kubernetes.io/version: "v1.12.12"
  4861rules:
  4862  - apiGroups: ["cert-manager.io"]
  4863    resources: ["signers"]
  4864    verbs: ["approve"]
  4865    resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
  4866---
  4867# Source: cert-manager/templates/rbac.yaml
  4868# Permission to:
  4869# - Update and sign CertificatSigningeRequests referencing cert-manager.io Issuers and ClusterIssuers
  4870# - Perform SubjectAccessReviews to test whether users are able to reference Namespaced Issuers
  4871apiVersion: rbac.authorization.k8s.io/v1
  4872kind: ClusterRole
  4873metadata:
  4874  name: cert-manager-controller-certificatesigningrequests
  4875  labels:
  4876    app: cert-manager
  4877    app.kubernetes.io/name: cert-manager
  4878    app.kubernetes.io/instance: cert-manager
  4879    app.kubernetes.io/component: "cert-manager"
  4880    app.kubernetes.io/version: "v1.12.12"
  4881rules:
  4882  - apiGroups: ["certificates.k8s.io"]
  4883    resources: ["certificatesigningrequests"]
  4884    verbs: ["get", "list", "watch", "update"]
  4885  - apiGroups: ["certificates.k8s.io"]
  4886    resources: ["certificatesigningrequests/status"]
  4887    verbs: ["update", "patch"]
  4888  - apiGroups: ["certificates.k8s.io"]
  4889    resources: ["signers"]
  4890    resourceNames: ["issuers.cert-manager.io/*", "clusterissuers.cert-manager.io/*"]
  4891    verbs: ["sign"]
  4892  - apiGroups: ["authorization.k8s.io"]
  4893    resources: ["subjectaccessreviews"]
  4894    verbs: ["create"]
  4895---
  4896# Source: cert-manager/templates/webhook-rbac.yaml
  4897apiVersion: rbac.authorization.k8s.io/v1
  4898kind: ClusterRole
  4899metadata:
  4900  name: cert-manager-webhook:subjectaccessreviews
  4901  labels:
  4902    app: webhook
  4903    app.kubernetes.io/name: webhook
  4904    app.kubernetes.io/instance: cert-manager
  4905    app.kubernetes.io/component: "webhook"
  4906    app.kubernetes.io/version: "v1.12.12"
  4907rules:
  4908- apiGroups: ["authorization.k8s.io"]
  4909  resources: ["subjectaccessreviews"]
  4910  verbs: ["create"]
  4911---
  4912# Source: cert-manager/templates/cainjector-rbac.yaml
  4913apiVersion: rbac.authorization.k8s.io/v1
  4914kind: ClusterRoleBinding
  4915metadata:
  4916  name: cert-manager-cainjector
  4917  labels:
  4918    app: cainjector
  4919    app.kubernetes.io/name: cainjector
  4920    app.kubernetes.io/instance: cert-manager
  4921    app.kubernetes.io/component: "cainjector"
  4922    app.kubernetes.io/version: "v1.12.12"
  4923roleRef:
  4924  apiGroup: rbac.authorization.k8s.io
  4925  kind: ClusterRole
  4926  name: cert-manager-cainjector
  4927subjects:
  4928  - name: cert-manager-cainjector
  4929    namespace: cert-manager
  4930    kind: ServiceAccount
  4931---
  4932# Source: cert-manager/templates/rbac.yaml
  4933apiVersion: rbac.authorization.k8s.io/v1
  4934kind: ClusterRoleBinding
  4935metadata:
  4936  name: cert-manager-controller-issuers
  4937  labels:
  4938    app: cert-manager
  4939    app.kubernetes.io/name: cert-manager
  4940    app.kubernetes.io/instance: cert-manager
  4941    app.kubernetes.io/component: "controller"
  4942    app.kubernetes.io/version: "v1.12.12"
  4943roleRef:
  4944  apiGroup: rbac.authorization.k8s.io
  4945  kind: ClusterRole
  4946  name: cert-manager-controller-issuers
  4947subjects:
  4948  - name: cert-manager
  4949    namespace: cert-manager
  4950    kind: ServiceAccount
  4951---
  4952# Source: cert-manager/templates/rbac.yaml
  4953apiVersion: rbac.authorization.k8s.io/v1
  4954kind: ClusterRoleBinding
  4955metadata:
  4956  name: cert-manager-controller-clusterissuers
  4957  labels:
  4958    app: cert-manager
  4959    app.kubernetes.io/name: cert-manager
  4960    app.kubernetes.io/instance: cert-manager
  4961    app.kubernetes.io/component: "controller"
  4962    app.kubernetes.io/version: "v1.12.12"
  4963roleRef:
  4964  apiGroup: rbac.authorization.k8s.io
  4965  kind: ClusterRole
  4966  name: cert-manager-controller-clusterissuers
  4967subjects:
  4968  - name: cert-manager
  4969    namespace: cert-manager
  4970    kind: ServiceAccount
  4971---
  4972# Source: cert-manager/templates/rbac.yaml
  4973apiVersion: rbac.authorization.k8s.io/v1
  4974kind: ClusterRoleBinding
  4975metadata:
  4976  name: cert-manager-controller-certificates
  4977  labels:
  4978    app: cert-manager
  4979    app.kubernetes.io/name: cert-manager
  4980    app.kubernetes.io/instance: cert-manager
  4981    app.kubernetes.io/component: "controller"
  4982    app.kubernetes.io/version: "v1.12.12"
  4983roleRef:
  4984  apiGroup: rbac.authorization.k8s.io
  4985  kind: ClusterRole
  4986  name: cert-manager-controller-certificates
  4987subjects:
  4988  - name: cert-manager
  4989    namespace: cert-manager
  4990    kind: ServiceAccount
  4991---
  4992# Source: cert-manager/templates/rbac.yaml
  4993apiVersion: rbac.authorization.k8s.io/v1
  4994kind: ClusterRoleBinding
  4995metadata:
  4996  name: cert-manager-controller-orders
  4997  labels:
  4998    app: cert-manager
  4999    app.kubernetes.io/name: cert-manager
  5000    app.kubernetes.io/instance: cert-manager
  5001    app.kubernetes.io/component: "controller"
  5002    app.kubernetes.io/version: "v1.12.12"
  5003roleRef:
  5004  apiGroup: rbac.authorization.k8s.io
  5005  kind: ClusterRole
  5006  name: cert-manager-controller-orders
  5007subjects:
  5008  - name: cert-manager
  5009    namespace: cert-manager
  5010    kind: ServiceAccount
  5011---
  5012# Source: cert-manager/templates/rbac.yaml
  5013apiVersion: rbac.authorization.k8s.io/v1
  5014kind: ClusterRoleBinding
  5015metadata:
  5016  name: cert-manager-controller-challenges
  5017  labels:
  5018    app: cert-manager
  5019    app.kubernetes.io/name: cert-manager
  5020    app.kubernetes.io/instance: cert-manager
  5021    app.kubernetes.io/component: "controller"
  5022    app.kubernetes.io/version: "v1.12.12"
  5023roleRef:
  5024  apiGroup: rbac.authorization.k8s.io
  5025  kind: ClusterRole
  5026  name: cert-manager-controller-challenges
  5027subjects:
  5028  - name: cert-manager
  5029    namespace: cert-manager
  5030    kind: ServiceAccount
  5031---
  5032# Source: cert-manager/templates/rbac.yaml
  5033apiVersion: rbac.authorization.k8s.io/v1
  5034kind: ClusterRoleBinding
  5035metadata:
  5036  name: cert-manager-controller-ingress-shim
  5037  labels:
  5038    app: cert-manager
  5039    app.kubernetes.io/name: cert-manager
  5040    app.kubernetes.io/instance: cert-manager
  5041    app.kubernetes.io/component: "controller"
  5042    app.kubernetes.io/version: "v1.12.12"
  5043roleRef:
  5044  apiGroup: rbac.authorization.k8s.io
  5045  kind: ClusterRole
  5046  name: cert-manager-controller-ingress-shim
  5047subjects:
  5048  - name: cert-manager
  5049    namespace: cert-manager
  5050    kind: ServiceAccount
  5051---
  5052# Source: cert-manager/templates/rbac.yaml
  5053apiVersion: rbac.authorization.k8s.io/v1
  5054kind: ClusterRoleBinding
  5055metadata:
  5056  name: cert-manager-controller-approve:cert-manager-io
  5057  labels:
  5058    app: cert-manager
  5059    app.kubernetes.io/name: cert-manager
  5060    app.kubernetes.io/instance: cert-manager
  5061    app.kubernetes.io/component: "cert-manager"
  5062    app.kubernetes.io/version: "v1.12.12"
  5063roleRef:
  5064  apiGroup: rbac.authorization.k8s.io
  5065  kind: ClusterRole
  5066  name: cert-manager-controller-approve:cert-manager-io
  5067subjects:
  5068  - name: cert-manager
  5069    namespace: cert-manager
  5070    kind: ServiceAccount
  5071---
  5072# Source: cert-manager/templates/rbac.yaml
  5073apiVersion: rbac.authorization.k8s.io/v1
  5074kind: ClusterRoleBinding
  5075metadata:
  5076  name: cert-manager-controller-certificatesigningrequests
  5077  labels:
  5078    app: cert-manager
  5079    app.kubernetes.io/name: cert-manager
  5080    app.kubernetes.io/instance: cert-manager
  5081    app.kubernetes.io/component: "cert-manager"
  5082    app.kubernetes.io/version: "v1.12.12"
  5083roleRef:
  5084  apiGroup: rbac.authorization.k8s.io
  5085  kind: ClusterRole
  5086  name: cert-manager-controller-certificatesigningrequests
  5087subjects:
  5088  - name: cert-manager
  5089    namespace: cert-manager
  5090    kind: ServiceAccount
  5091---
  5092# Source: cert-manager/templates/webhook-rbac.yaml
  5093apiVersion: rbac.authorization.k8s.io/v1
  5094kind: ClusterRoleBinding
  5095metadata:
  5096  name: cert-manager-webhook:subjectaccessreviews
  5097  labels:
  5098    app: webhook
  5099    app.kubernetes.io/name: webhook
  5100    app.kubernetes.io/instance: cert-manager
  5101    app.kubernetes.io/component: "webhook"
  5102    app.kubernetes.io/version: "v1.12.12"
  5103roleRef:
  5104  apiGroup: rbac.authorization.k8s.io
  5105  kind: ClusterRole
  5106  name: cert-manager-webhook:subjectaccessreviews
  5107subjects:
  5108- apiGroup: ""
  5109  kind: ServiceAccount
  5110  name: cert-manager-webhook
  5111  namespace: cert-manager
  5112---
  5113# Source: cert-manager/templates/cainjector-rbac.yaml
  5114# leader election rules
  5115apiVersion: rbac.authorization.k8s.io/v1
  5116kind: Role
  5117metadata:
  5118  name: cert-manager-cainjector:leaderelection
  5119  namespace: kube-system
  5120  labels:
  5121    app: cainjector
  5122    app.kubernetes.io/name: cainjector
  5123    app.kubernetes.io/instance: cert-manager
  5124    app.kubernetes.io/component: "cainjector"
  5125    app.kubernetes.io/version: "v1.12.12"
  5126rules:
  5127  # Used for leader election by the controller
  5128  # cert-manager-cainjector-leader-election is used by the CertificateBased injector controller
  5129  #   see cmd/cainjector/start.go#L113
  5130  # cert-manager-cainjector-leader-election-core is used by the SecretBased injector controller
  5131  #   see cmd/cainjector/start.go#L137
  5132  - apiGroups: ["coordination.k8s.io"]
  5133    resources: ["leases"]
  5134    resourceNames: ["cert-manager-cainjector-leader-election", "cert-manager-cainjector-leader-election-core"]
  5135    verbs: ["get", "update", "patch"]
  5136  - apiGroups: ["coordination.k8s.io"]
  5137    resources: ["leases"]
  5138    verbs: ["create"]
  5139---
  5140# Source: cert-manager/templates/rbac.yaml
  5141apiVersion: rbac.authorization.k8s.io/v1
  5142kind: Role
  5143metadata:
  5144  name: cert-manager:leaderelection
  5145  namespace: kube-system
  5146  labels:
  5147    app: cert-manager
  5148    app.kubernetes.io/name: cert-manager
  5149    app.kubernetes.io/instance: cert-manager
  5150    app.kubernetes.io/component: "controller"
  5151    app.kubernetes.io/version: "v1.12.12"
  5152rules:
  5153  - apiGroups: ["coordination.k8s.io"]
  5154    resources: ["leases"]
  5155    resourceNames: ["cert-manager-controller"]
  5156    verbs: ["get", "update", "patch"]
  5157  - apiGroups: ["coordination.k8s.io"]
  5158    resources: ["leases"]
  5159    verbs: ["create"]
  5160---
  5161# Source: cert-manager/templates/webhook-rbac.yaml
  5162apiVersion: rbac.authorization.k8s.io/v1
  5163kind: Role
  5164metadata:
  5165  name: cert-manager-webhook:dynamic-serving
  5166  namespace: cert-manager
  5167  labels:
  5168    app: webhook
  5169    app.kubernetes.io/name: webhook
  5170    app.kubernetes.io/instance: cert-manager
  5171    app.kubernetes.io/component: "webhook"
  5172    app.kubernetes.io/version: "v1.12.12"
  5173rules:
  5174- apiGroups: [""]
  5175  resources: ["secrets"]
  5176  resourceNames:
  5177  - 'cert-manager-webhook-ca'
  5178  verbs: ["get", "list", "watch", "update"]
  5179# It's not possible to grant CREATE permission on a single resourceName.
  5180- apiGroups: [""]
  5181  resources: ["secrets"]
  5182  verbs: ["create"]
  5183---
  5184# Source: cert-manager/templates/cainjector-rbac.yaml
  5185# grant cert-manager permission to manage the leaderelection configmap in the
  5186# leader election namespace
  5187apiVersion: rbac.authorization.k8s.io/v1
  5188kind: RoleBinding
  5189metadata:
  5190  name: cert-manager-cainjector:leaderelection
  5191  namespace: kube-system
  5192  labels:
  5193    app: cainjector
  5194    app.kubernetes.io/name: cainjector
  5195    app.kubernetes.io/instance: cert-manager
  5196    app.kubernetes.io/component: "cainjector"
  5197    app.kubernetes.io/version: "v1.12.12"
  5198roleRef:
  5199  apiGroup: rbac.authorization.k8s.io
  5200  kind: Role
  5201  name: cert-manager-cainjector:leaderelection
  5202subjects:
  5203  - kind: ServiceAccount
  5204    name: cert-manager-cainjector
  5205    namespace: cert-manager
  5206---
  5207# Source: cert-manager/templates/rbac.yaml
  5208# grant cert-manager permission to manage the leaderelection configmap in the
  5209# leader election namespace
  5210apiVersion: rbac.authorization.k8s.io/v1
  5211kind: RoleBinding
  5212metadata:
  5213  name: cert-manager:leaderelection
  5214  namespace: kube-system
  5215  labels:
  5216    app: cert-manager
  5217    app.kubernetes.io/name: cert-manager
  5218    app.kubernetes.io/instance: cert-manager
  5219    app.kubernetes.io/component: "controller"
  5220    app.kubernetes.io/version: "v1.12.12"
  5221roleRef:
  5222  apiGroup: rbac.authorization.k8s.io
  5223  kind: Role
  5224  name: cert-manager:leaderelection
  5225subjects:
  5226  - apiGroup: ""
  5227    kind: ServiceAccount
  5228    name: cert-manager
  5229    namespace: cert-manager
  5230---
  5231# Source: cert-manager/templates/webhook-rbac.yaml
  5232apiVersion: rbac.authorization.k8s.io/v1
  5233kind: RoleBinding
  5234metadata:
  5235  name: cert-manager-webhook:dynamic-serving
  5236  namespace: cert-manager
  5237  labels:
  5238    app: webhook
  5239    app.kubernetes.io/name: webhook
  5240    app.kubernetes.io/instance: cert-manager
  5241    app.kubernetes.io/component: "webhook"
  5242    app.kubernetes.io/version: "v1.12.12"
  5243roleRef:
  5244  apiGroup: rbac.authorization.k8s.io
  5245  kind: Role
  5246  name: cert-manager-webhook:dynamic-serving
  5247subjects:
  5248- apiGroup: ""
  5249  kind: ServiceAccount
  5250  name: cert-manager-webhook
  5251  namespace: cert-manager
  5252---
  5253# Source: cert-manager/templates/service.yaml
  5254apiVersion: v1
  5255kind: Service
  5256metadata:
  5257  name: cert-manager
  5258  namespace: cert-manager
  5259  labels:
  5260    app: cert-manager
  5261    app.kubernetes.io/name: cert-manager
  5262    app.kubernetes.io/instance: cert-manager
  5263    app.kubernetes.io/component: "controller"
  5264    app.kubernetes.io/version: "v1.12.12"
  5265spec:
  5266  type: ClusterIP
  5267  ports:
  5268  - protocol: TCP
  5269    port: 9402
  5270    name: tcp-prometheus-servicemonitor
  5271    targetPort: 9402
  5272  selector:
  5273    app.kubernetes.io/name: cert-manager
  5274    app.kubernetes.io/instance: cert-manager
  5275    app.kubernetes.io/component: "controller"
  5276---
  5277# Source: cert-manager/templates/webhook-service.yaml
  5278apiVersion: v1
  5279kind: Service
  5280metadata:
  5281  name: cert-manager-webhook
  5282  namespace: cert-manager
  5283  labels:
  5284    app: webhook
  5285    app.kubernetes.io/name: webhook
  5286    app.kubernetes.io/instance: cert-manager
  5287    app.kubernetes.io/component: "webhook"
  5288    app.kubernetes.io/version: "v1.12.12"
  5289spec:
  5290  type: ClusterIP
  5291  ports:
  5292  - name: https
  5293    port: 443
  5294    protocol: TCP
  5295    targetPort: "https"
  5296  selector:
  5297    app.kubernetes.io/name: webhook
  5298    app.kubernetes.io/instance: cert-manager
  5299    app.kubernetes.io/component: "webhook"
  5300---
  5301# Source: cert-manager/templates/cainjector-deployment.yaml
  5302apiVersion: apps/v1
  5303kind: Deployment
  5304metadata:
  5305  name: cert-manager-cainjector
  5306  namespace: cert-manager
  5307  labels:
  5308    app: cainjector
  5309    app.kubernetes.io/name: cainjector
  5310    app.kubernetes.io/instance: cert-manager
  5311    app.kubernetes.io/component: "cainjector"
  5312    app.kubernetes.io/version: "v1.12.12"
  5313spec:
  5314  replicas: 1
  5315  selector:
  5316    matchLabels:
  5317      app.kubernetes.io/name: cainjector
  5318      app.kubernetes.io/instance: cert-manager
  5319      app.kubernetes.io/component: "cainjector"
  5320  template:
  5321    metadata:
  5322      labels:
  5323        app: cainjector
  5324        app.kubernetes.io/name: cainjector
  5325        app.kubernetes.io/instance: cert-manager
  5326        app.kubernetes.io/component: "cainjector"
  5327        app.kubernetes.io/version: "v1.12.12"
  5328    spec:
  5329      serviceAccountName: cert-manager-cainjector
  5330      securityContext:
  5331        runAsNonRoot: true
  5332        seccompProfile:
  5333          type: RuntimeDefault
  5334      containers:
  5335        - name: cert-manager-cainjector
  5336          image: "quay.io/jetstack/cert-manager-cainjector:v1.12.12"
  5337          imagePullPolicy: IfNotPresent
  5338          args:
  5339          - --v=2
  5340          - --leader-election-namespace=kube-system
  5341          env:
  5342          - name: POD_NAMESPACE
  5343            valueFrom:
  5344              fieldRef:
  5345                fieldPath: metadata.namespace
  5346          securityContext:
  5347            allowPrivilegeEscalation: false
  5348            capabilities:
  5349              drop:
  5350              - ALL
  5351      nodeSelector:
  5352        kubernetes.io/os: linux
  5353---
  5354# Source: cert-manager/templates/deployment.yaml
  5355apiVersion: apps/v1
  5356kind: Deployment
  5357metadata:
  5358  name: cert-manager
  5359  namespace: cert-manager
  5360  labels:
  5361    app: cert-manager
  5362    app.kubernetes.io/name: cert-manager
  5363    app.kubernetes.io/instance: cert-manager
  5364    app.kubernetes.io/component: "controller"
  5365    app.kubernetes.io/version: "v1.12.12"
  5366spec:
  5367  replicas: 1
  5368  selector:
  5369    matchLabels:
  5370      app.kubernetes.io/name: cert-manager
  5371      app.kubernetes.io/instance: cert-manager
  5372      app.kubernetes.io/component: "controller"
  5373  template:
  5374    metadata:
  5375      labels:
  5376        app: cert-manager
  5377        app.kubernetes.io/name: cert-manager
  5378        app.kubernetes.io/instance: cert-manager
  5379        app.kubernetes.io/component: "controller"
  5380        app.kubernetes.io/version: "v1.12.12"
  5381      annotations:
  5382        prometheus.io/path: "/metrics"
  5383        prometheus.io/scrape: 'true'
  5384        prometheus.io/port: '9402'
  5385    spec:
  5386      serviceAccountName: cert-manager
  5387      securityContext:
  5388        runAsNonRoot: true
  5389        seccompProfile:
  5390          type: RuntimeDefault
  5391      containers:
  5392        - name: cert-manager-controller
  5393          image: "quay.io/jetstack/cert-manager-controller:v1.12.12"
  5394          imagePullPolicy: IfNotPresent
  5395          args:
  5396          - --v=2
  5397          - --cluster-resource-namespace=$(POD_NAMESPACE)
  5398          - --leader-election-namespace=kube-system
  5399          - --acme-http01-solver-image=quay.io/jetstack/cert-manager-acmesolver:v1.12.12
  5400          - --max-concurrent-challenges=60
  5401          ports:
  5402          - containerPort: 9402
  5403            name: http-metrics
  5404            protocol: TCP
  5405          - containerPort: 9403
  5406            name: http-healthz
  5407            protocol: TCP
  5408          securityContext:
  5409            allowPrivilegeEscalation: false
  5410            capabilities:
  5411              drop:
  5412              - ALL
  5413          env:
  5414          - name: POD_NAMESPACE
  5415            valueFrom:
  5416              fieldRef:
  5417                fieldPath: metadata.namespace
  5418      nodeSelector:
  5419        kubernetes.io/os: linux
  5420---
  5421# Source: cert-manager/templates/webhook-deployment.yaml
  5422apiVersion: apps/v1
  5423kind: Deployment
  5424metadata:
  5425  name: cert-manager-webhook
  5426  namespace: cert-manager
  5427  labels:
  5428    app: webhook
  5429    app.kubernetes.io/name: webhook
  5430    app.kubernetes.io/instance: cert-manager
  5431    app.kubernetes.io/component: "webhook"
  5432    app.kubernetes.io/version: "v1.12.12"
  5433spec:
  5434  replicas: 1
  5435  selector:
  5436    matchLabels:
  5437      app.kubernetes.io/name: webhook
  5438      app.kubernetes.io/instance: cert-manager
  5439      app.kubernetes.io/component: "webhook"
  5440  template:
  5441    metadata:
  5442      labels:
  5443        app: webhook
  5444        app.kubernetes.io/name: webhook
  5445        app.kubernetes.io/instance: cert-manager
  5446        app.kubernetes.io/component: "webhook"
  5447        app.kubernetes.io/version: "v1.12.12"
  5448    spec:
  5449      serviceAccountName: cert-manager-webhook
  5450      securityContext:
  5451        runAsNonRoot: true
  5452        seccompProfile:
  5453          type: RuntimeDefault
  5454      containers:
  5455        - name: cert-manager-webhook
  5456          image: "quay.io/jetstack/cert-manager-webhook:v1.12.12"
  5457          imagePullPolicy: IfNotPresent
  5458          args:
  5459          - --v=2
  5460          - --secure-port=10250
  5461          - --dynamic-serving-ca-secret-namespace=$(POD_NAMESPACE)
  5462          - --dynamic-serving-ca-secret-name=cert-manager-webhook-ca
  5463          - --dynamic-serving-dns-names=cert-manager-webhook
  5464          - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE)
  5465          - --dynamic-serving-dns-names=cert-manager-webhook.$(POD_NAMESPACE).svc
  5466          
  5467          ports:
  5468          - name: https
  5469            protocol: TCP
  5470            containerPort: 10250
  5471          - name: healthcheck
  5472            protocol: TCP
  5473            containerPort: 6080
  5474          livenessProbe:
  5475            httpGet:
  5476              path: /livez
  5477              port: 6080
  5478              scheme: HTTP
  5479            initialDelaySeconds: 60
  5480            periodSeconds: 10
  5481            timeoutSeconds: 1
  5482            successThreshold: 1
  5483            failureThreshold: 3
  5484          readinessProbe:
  5485            httpGet:
  5486              path: /healthz
  5487              port: 6080
  5488              scheme: HTTP
  5489            initialDelaySeconds: 5
  5490            periodSeconds: 5
  5491            timeoutSeconds: 1
  5492            successThreshold: 1
  5493            failureThreshold: 3
  5494          securityContext:
  5495            allowPrivilegeEscalation: false
  5496            capabilities:
  5497              drop:
  5498              - ALL
  5499          env:
  5500          - name: POD_NAMESPACE
  5501            valueFrom:
  5502              fieldRef:
  5503                fieldPath: metadata.namespace
  5504      nodeSelector:
  5505        kubernetes.io/os: linux
  5506---
  5507# Source: cert-manager/templates/webhook-mutating-webhook.yaml
  5508apiVersion: admissionregistration.k8s.io/v1
  5509kind: MutatingWebhookConfiguration
  5510metadata:
  5511  name: cert-manager-webhook
  5512  labels:
  5513    app: webhook
  5514    app.kubernetes.io/name: webhook
  5515    app.kubernetes.io/instance: cert-manager
  5516    app.kubernetes.io/component: "webhook"
  5517    app.kubernetes.io/version: "v1.12.12"
  5518  annotations:
  5519    cert-manager.io/inject-ca-from-secret: "cert-manager/cert-manager-webhook-ca"
  5520webhooks:
  5521  - name: webhook.cert-manager.io
  5522    rules:
  5523      - apiGroups:
  5524          - "cert-manager.io"
  5525          - "acme.cert-manager.io"
  5526        apiVersions:
  5527          - "v1"
  5528        operations:
  5529          - CREATE
  5530          - UPDATE
  5531        resources:
  5532          - "*/*"
  5533    admissionReviewVersions: ["v1"]
  5534    # This webhook only accepts v1 cert-manager resources.
  5535    # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
  5536    # this webhook (after the resources have been converted to v1).
  5537    matchPolicy: Equivalent
  5538    timeoutSeconds: 10
  5539    failurePolicy: Fail
  5540    # Only include 'sideEffects' field in Kubernetes 1.12+
  5541    sideEffects: None
  5542    clientConfig:
  5543      service:
  5544        name: cert-manager-webhook
  5545        namespace: cert-manager
  5546        path: /mutate
  5547---
  5548# Source: cert-manager/templates/webhook-validating-webhook.yaml
  5549apiVersion: admissionregistration.k8s.io/v1
  5550kind: ValidatingWebhookConfiguration
  5551metadata:
  5552  name: cert-manager-webhook
  5553  labels:
  5554    app: webhook
  5555    app.kubernetes.io/name: webhook
  5556    app.kubernetes.io/instance: cert-manager
  5557    app.kubernetes.io/component: "webhook"
  5558    app.kubernetes.io/version: "v1.12.12"
  5559  annotations:
  5560    cert-manager.io/inject-ca-from-secret: "cert-manager/cert-manager-webhook-ca"
  5561webhooks:
  5562  - name: webhook.cert-manager.io
  5563    namespaceSelector:
  5564      matchExpressions:
  5565      - key: "cert-manager.io/disable-validation"
  5566        operator: "NotIn"
  5567        values:
  5568        - "true"
  5569      - key: "name"
  5570        operator: "NotIn"
  5571        values:
  5572        - cert-manager
  5573    rules:
  5574      - apiGroups:
  5575          - "cert-manager.io"
  5576          - "acme.cert-manager.io"
  5577        apiVersions:
  5578          - "v1"
  5579        operations:
  5580          - CREATE
  5581          - UPDATE
  5582        resources:
  5583          - "*/*"
  5584    admissionReviewVersions: ["v1"]
  5585    # This webhook only accepts v1 cert-manager resources.
  5586    # Equivalent matchPolicy ensures that non-v1 resource requests are sent to
  5587    # this webhook (after the resources have been converted to v1).
  5588    matchPolicy: Equivalent
  5589    timeoutSeconds: 10
  5590    failurePolicy: Fail
  5591    sideEffects: None
  5592    clientConfig:
  5593      service:
  5594        name: cert-manager-webhook
  5595        namespace: cert-manager
  5596        path: /validate

View as plain text