github.com/wmuizelaar/kpt@v0.0.0-20221018115725-bd564717b2ed/package-examples/cert-manager-basic/crds/customresourcedefinition-clusterissuers-cert-manager-io.yaml (about)

     1  # Source: cert-manager/templates/crd-templates.yaml
     2  apiVersion: apiextensions.k8s.io/v1
     3  kind: CustomResourceDefinition
     4  metadata:
     5    name: clusterissuers.cert-manager.io
     6    labels:
     7      app: 'cert-manager'
     8      app.kubernetes.io/name: 'cert-manager'
     9      app.kubernetes.io/instance: 'cert-manager'
    10      # Generated labels
    11      app.kubernetes.io/version: "v1.8.2"
    12  spec:
    13    group: cert-manager.io
    14    names:
    15      kind: ClusterIssuer
    16      listKind: ClusterIssuerList
    17      plural: clusterissuers
    18      singular: clusterissuer
    19      categories:
    20        - cert-manager
    21    scope: Cluster
    22    versions:
    23      - name: v1
    24        subresources:
    25          status: {}
    26        additionalPrinterColumns:
    27          - jsonPath: .status.conditions[?(@.type=="Ready")].status
    28            name: Ready
    29            type: string
    30          - jsonPath: .status.conditions[?(@.type=="Ready")].message
    31            name: Status
    32            priority: 1
    33            type: string
    34          - jsonPath: .metadata.creationTimestamp
    35            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.
    36            name: Age
    37            type: date
    38        schema:
    39          openAPIV3Schema:
    40            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.
    41            type: object
    42            required:
    43              - spec
    44            properties:
    45              apiVersion:
    46                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'
    47                type: string
    48              kind:
    49                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'
    50                type: string
    51              metadata:
    52                type: object
    53              spec:
    54                description: Desired state of the ClusterIssuer resource.
    55                type: object
    56                properties:
    57                  acme:
    58                    description: ACME configures this issuer to communicate with a RFC8555 (ACME) server to obtain signed x509 certificates.
    59                    type: object
    60                    required:
    61                      - privateKeySecretRef
    62                      - server
    63                    properties:
    64                      disableAccountKeyGeneration:
    65                        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.
    66                        type: boolean
    67                      email:
    68                        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.
    69                        type: string
    70                      enableDurationFeature:
    71                        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.
    72                        type: boolean
    73                      externalAccountBinding:
    74                        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.
    75                        type: object
    76                        required:
    77                          - keyID
    78                          - keySecretRef
    79                        properties:
    80                          keyAlgorithm:
    81                            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.'
    82                            type: string
    83                            enum:
    84                              - HS256
    85                              - HS384
    86                              - HS512
    87                          keyID:
    88                            description: keyID is the ID of the CA key that the External Account is bound to.
    89                            type: string
    90                          keySecretRef:
    91                            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.
    92                            type: object
    93                            required:
    94                              - name
    95                            properties:
    96                              key:
    97                                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.
    98                                type: string
    99                              name:
   100                                description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   101                                type: string
   102                      preferredChain:
   103                        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'
   104                        type: string
   105                        maxLength: 64
   106                      privateKeySecretRef:
   107                        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.
   108                        type: object
   109                        required:
   110                          - name
   111                        properties:
   112                          key:
   113                            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.
   114                            type: string
   115                          name:
   116                            description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   117                            type: string
   118                      server:
   119                        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.'
   120                        type: string
   121                      skipTLSVerify:
   122                        description: Enables or disables validation of the ACME server TLS certificate. If true, requests to the ACME server will not have their TLS certificate validated (i.e. insecure connections will be allowed). Only enable this option in development environments. The cert-manager system installed roots will be used to verify connections to the ACME server if this is false. Defaults to false.
   123                        type: boolean
   124                      solvers:
   125                        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/'
   126                        type: array
   127                        items:
   128                          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.
   129                          type: object
   130                          properties:
   131                            dns01:
   132                              description: Configures cert-manager to attempt to complete authorizations by performing the DNS01 challenge flow.
   133                              type: object
   134                              properties:
   135                                acmeDNS:
   136                                  description: Use the 'ACME DNS' (https://github.com/joohoi/acme-dns) API to manage DNS01 challenge records.
   137                                  type: object
   138                                  required:
   139                                    - accountSecretRef
   140                                    - host
   141                                  properties:
   142                                    accountSecretRef:
   143                                      description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   144                                      type: object
   145                                      required:
   146                                        - name
   147                                      properties:
   148                                        key:
   149                                          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.
   150                                          type: string
   151                                        name:
   152                                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   153                                          type: string
   154                                    host:
   155                                      type: string
   156                                akamai:
   157                                  description: Use the Akamai DNS zone management API to manage DNS01 challenge records.
   158                                  type: object
   159                                  required:
   160                                    - accessTokenSecretRef
   161                                    - clientSecretSecretRef
   162                                    - clientTokenSecretRef
   163                                    - serviceConsumerDomain
   164                                  properties:
   165                                    accessTokenSecretRef:
   166                                      description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   167                                      type: object
   168                                      required:
   169                                        - name
   170                                      properties:
   171                                        key:
   172                                          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.
   173                                          type: string
   174                                        name:
   175                                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   176                                          type: string
   177                                    clientSecretSecretRef:
   178                                      description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   179                                      type: object
   180                                      required:
   181                                        - name
   182                                      properties:
   183                                        key:
   184                                          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.
   185                                          type: string
   186                                        name:
   187                                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   188                                          type: string
   189                                    clientTokenSecretRef:
   190                                      description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   191                                      type: object
   192                                      required:
   193                                        - name
   194                                      properties:
   195                                        key:
   196                                          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.
   197                                          type: string
   198                                        name:
   199                                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   200                                          type: string
   201                                    serviceConsumerDomain:
   202                                      type: string
   203                                azureDNS:
   204                                  description: Use the Microsoft Azure DNS API to manage DNS01 challenge records.
   205                                  type: object
   206                                  required:
   207                                    - resourceGroupName
   208                                    - subscriptionID
   209                                  properties:
   210                                    clientID:
   211                                      description: if both this and ClientSecret are left unset MSI will be used
   212                                      type: string
   213                                    clientSecretSecretRef:
   214                                      description: if both this and ClientID are left unset MSI will be used
   215                                      type: object
   216                                      required:
   217                                        - name
   218                                      properties:
   219                                        key:
   220                                          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.
   221                                          type: string
   222                                        name:
   223                                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   224                                          type: string
   225                                    environment:
   226                                      description: name of the Azure environment (default AzurePublicCloud)
   227                                      type: string
   228                                      enum:
   229                                        - AzurePublicCloud
   230                                        - AzureChinaCloud
   231                                        - AzureGermanCloud
   232                                        - AzureUSGovernmentCloud
   233                                    hostedZoneName:
   234                                      description: name of the DNS zone that should be used
   235                                      type: string
   236                                    managedIdentity:
   237                                      description: managed identity configuration, can not be used at the same time as clientID, clientSecretSecretRef or tenantID
   238                                      type: object
   239                                      properties:
   240                                        clientID:
   241                                          description: client ID of the managed identity, can not be used at the same time as resourceID
   242                                          type: string
   243                                        resourceID:
   244                                          description: resource ID of the managed identity, can not be used at the same time as clientID
   245                                          type: string
   246                                    resourceGroupName:
   247                                      description: resource group the DNS zone is located in
   248                                      type: string
   249                                    subscriptionID:
   250                                      description: ID of the Azure subscription
   251                                      type: string
   252                                    tenantID:
   253                                      description: when specifying ClientID and ClientSecret then this field is also needed
   254                                      type: string
   255                                cloudDNS:
   256                                  description: Use the Google Cloud DNS API to manage DNS01 challenge records.
   257                                  type: object
   258                                  required:
   259                                    - project
   260                                  properties:
   261                                    hostedZoneName:
   262                                      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.
   263                                      type: string
   264                                    project:
   265                                      type: string
   266                                    serviceAccountSecretRef:
   267                                      description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   268                                      type: object
   269                                      required:
   270                                        - name
   271                                      properties:
   272                                        key:
   273                                          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.
   274                                          type: string
   275                                        name:
   276                                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   277                                          type: string
   278                                cloudflare:
   279                                  description: Use the Cloudflare API to manage DNS01 challenge records.
   280                                  type: object
   281                                  properties:
   282                                    apiKeySecretRef:
   283                                      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.'
   284                                      type: object
   285                                      required:
   286                                        - name
   287                                      properties:
   288                                        key:
   289                                          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.
   290                                          type: string
   291                                        name:
   292                                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   293                                          type: string
   294                                    apiTokenSecretRef:
   295                                      description: API token used to authenticate with Cloudflare.
   296                                      type: object
   297                                      required:
   298                                        - name
   299                                      properties:
   300                                        key:
   301                                          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.
   302                                          type: string
   303                                        name:
   304                                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   305                                          type: string
   306                                    email:
   307                                      description: Email of the account, only required when using API key based authentication.
   308                                      type: string
   309                                cnameStrategy:
   310                                  description: CNAMEStrategy configures how the DNS01 provider should handle CNAME records when found in DNS zones.
   311                                  type: string
   312                                  enum:
   313                                    - None
   314                                    - Follow
   315                                digitalocean:
   316                                  description: Use the DigitalOcean DNS API to manage DNS01 challenge records.
   317                                  type: object
   318                                  required:
   319                                    - tokenSecretRef
   320                                  properties:
   321                                    tokenSecretRef:
   322                                      description: A reference to a specific 'key' within a Secret resource. In some instances, `key` is a required field.
   323                                      type: object
   324                                      required:
   325                                        - name
   326                                      properties:
   327                                        key:
   328                                          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.
   329                                          type: string
   330                                        name:
   331                                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   332                                          type: string
   333                                rfc2136:
   334                                  description: Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/) to manage DNS01 challenge records.
   335                                  type: object
   336                                  required:
   337                                    - nameserver
   338                                  properties:
   339                                    nameserver:
   340                                      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.
   341                                      type: string
   342                                    tsigAlgorithm:
   343                                      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``.'
   344                                      type: string
   345                                    tsigKeyName:
   346                                      description: The TSIG Key name configured in the DNS. If ``tsigSecretSecretRef`` is defined, this field is required.
   347                                      type: string
   348                                    tsigSecretSecretRef:
   349                                      description: The name of the secret containing the TSIG value. If ``tsigKeyName`` is defined, this field is required.
   350                                      type: object
   351                                      required:
   352                                        - name
   353                                      properties:
   354                                        key:
   355                                          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.
   356                                          type: string
   357                                        name:
   358                                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   359                                          type: string
   360                                route53:
   361                                  description: Use the AWS Route53 API to manage DNS01 challenge records.
   362                                  type: object
   363                                  required:
   364                                    - region
   365                                  properties:
   366                                    accessKeyID:
   367                                      description: 'The AccessKeyID is used for authentication. If not 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'
   368                                      type: string
   369                                    hostedZoneID:
   370                                      description: If set, the provider will manage only this zone in Route53 and will not do an lookup using the route53:ListHostedZonesByName api call.
   371                                      type: string
   372                                    region:
   373                                      description: Always set the region when using AccessKeyID and SecretAccessKey
   374                                      type: string
   375                                    role:
   376                                      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
   377                                      type: string
   378                                    secretAccessKeySecretRef:
   379                                      description: The SecretAccessKey is used for authentication. If not set we fall-back to using env vars, shared credentials file or AWS Instance metadata https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials
   380                                      type: object
   381                                      required:
   382                                        - name
   383                                      properties:
   384                                        key:
   385                                          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.
   386                                          type: string
   387                                        name:
   388                                          description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   389                                          type: string
   390                                webhook:
   391                                  description: Configure an external webhook based DNS01 challenge solver to manage DNS01 challenge records.
   392                                  type: object
   393                                  required:
   394                                    - groupName
   395                                    - solverName
   396                                  properties:
   397                                    config:
   398                                      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.
   399                                      x-kubernetes-preserve-unknown-fields: true
   400                                    groupName:
   401                                      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.
   402                                      type: string
   403                                    solverName:
   404                                      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'.
   405                                      type: string
   406                            http01:
   407                              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.
   408                              type: object
   409                              properties:
   410                                gatewayHTTPRoute:
   411                                  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.
   412                                  type: object
   413                                  properties:
   414                                    labels:
   415                                      description: Custom labels that will be applied to HTTPRoutes created by cert-manager while solving HTTP-01 challenges.
   416                                      type: object
   417                                      additionalProperties:
   418                                        type: string
   419                                    parentRefs:
   420                                      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/v1alpha2/api-types/httproute/#attaching-to-gateways'
   421                                      type: array
   422                                      items:
   423                                        description: "ParentRef 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. \n References to objects with invalid Group and Kind are not valid, and must be rejected by the implementation, with appropriate Conditions set on the containing object."
   424                                        type: object
   425                                        required:
   426                                          - name
   427                                        properties:
   428                                          group:
   429                                            description: "Group is the group of the referent. \n Support: Core"
   430                                            type: string
   431                                            default: gateway.networking.k8s.io
   432                                            maxLength: 253
   433                                            pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
   434                                          kind:
   435                                            description: "Kind is kind of the referent. \n Support: Core (Gateway) Support: Custom (Other Resources)"
   436                                            type: string
   437                                            default: Gateway
   438                                            maxLength: 63
   439                                            minLength: 1
   440                                            pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
   441                                          name:
   442                                            description: "Name is the name of the referent. \n Support: Core"
   443                                            type: string
   444                                            maxLength: 253
   445                                            minLength: 1
   446                                          namespace:
   447                                            description: "Namespace is the namespace of the referent. When unspecified (or empty string), this refers to the local namespace of the Route. \n Support: Core"
   448                                            type: string
   449                                            maxLength: 63
   450                                            minLength: 1
   451                                            pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
   452                                          sectionName:
   453                                            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 \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"
   454                                            type: string
   455                                            maxLength: 253
   456                                            minLength: 1
   457                                            pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
   458                                    serviceType:
   459                                      description: Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort.
   460                                      type: string
   461                                ingress:
   462                                  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.
   463                                  type: object
   464                                  properties:
   465                                    class:
   466                                      description: The ingress class to use when creating Ingress resources to solve ACME challenges that use this challenge solver. Only one of 'class' or 'name' may be specified.
   467                                      type: string
   468                                    ingressTemplate:
   469                                      description: Optional ingress template used to configure the ACME challenge solver ingress used for HTTP01 challenges.
   470                                      type: object
   471                                      properties:
   472                                        metadata:
   473                                          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.
   474                                          type: object
   475                                          properties:
   476                                            annotations:
   477                                              description: Annotations that should be added to the created ACME HTTP01 solver ingress.
   478                                              type: object
   479                                              additionalProperties:
   480                                                type: string
   481                                            labels:
   482                                              description: Labels that should be added to the created ACME HTTP01 solver ingress.
   483                                              type: object
   484                                              additionalProperties:
   485                                                type: string
   486                                    name:
   487                                      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.
   488                                      type: string
   489                                    podTemplate:
   490                                      description: Optional pod template used to configure the ACME challenge solver pods used for HTTP01 challenges.
   491                                      type: object
   492                                      properties:
   493                                        metadata:
   494                                          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.
   495                                          type: object
   496                                          properties:
   497                                            annotations:
   498                                              description: Annotations that should be added to the create ACME HTTP01 solver pods.
   499                                              type: object
   500                                              additionalProperties:
   501                                                type: string
   502                                            labels:
   503                                              description: Labels that should be added to the created ACME HTTP01 solver pods.
   504                                              type: object
   505                                              additionalProperties:
   506                                                type: string
   507                                        spec:
   508                                          description: PodSpec defines overrides for the HTTP01 challenge solver pod. Only the 'priorityClassName', 'nodeSelector', 'affinity', 'serviceAccountName' and 'tolerations' fields are supported currently. All other fields will be ignored.
   509                                          type: object
   510                                          properties:
   511                                            affinity:
   512                                              description: If specified, the pod's scheduling constraints
   513                                              type: object
   514                                              properties:
   515                                                nodeAffinity:
   516                                                  description: Describes node affinity scheduling rules for the pod.
   517                                                  type: object
   518                                                  properties:
   519                                                    preferredDuringSchedulingIgnoredDuringExecution:
   520                                                      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.
   521                                                      type: array
   522                                                      items:
   523                                                        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).
   524                                                        type: object
   525                                                        required:
   526                                                          - preference
   527                                                          - weight
   528                                                        properties:
   529                                                          preference:
   530                                                            description: A node selector term, associated with the corresponding weight.
   531                                                            type: object
   532                                                            properties:
   533                                                              matchExpressions:
   534                                                                description: A list of node selector requirements by node's labels.
   535                                                                type: array
   536                                                                items:
   537                                                                  description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   538                                                                  type: object
   539                                                                  required:
   540                                                                    - key
   541                                                                    - operator
   542                                                                  properties:
   543                                                                    key:
   544                                                                      description: The label key that the selector applies to.
   545                                                                      type: string
   546                                                                    operator:
   547                                                                      description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
   548                                                                      type: string
   549                                                                    values:
   550                                                                      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.
   551                                                                      type: array
   552                                                                      items:
   553                                                                        type: string
   554                                                              matchFields:
   555                                                                description: A list of node selector requirements by node's fields.
   556                                                                type: array
   557                                                                items:
   558                                                                  description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   559                                                                  type: object
   560                                                                  required:
   561                                                                    - key
   562                                                                    - operator
   563                                                                  properties:
   564                                                                    key:
   565                                                                      description: The label key that the selector applies to.
   566                                                                      type: string
   567                                                                    operator:
   568                                                                      description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
   569                                                                      type: string
   570                                                                    values:
   571                                                                      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.
   572                                                                      type: array
   573                                                                      items:
   574                                                                        type: string
   575                                                          weight:
   576                                                            description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
   577                                                            type: integer
   578                                                            format: int32
   579                                                    requiredDuringSchedulingIgnoredDuringExecution:
   580                                                      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.
   581                                                      type: object
   582                                                      required:
   583                                                        - nodeSelectorTerms
   584                                                      properties:
   585                                                        nodeSelectorTerms:
   586                                                          description: Required. A list of node selector terms. The terms are ORed.
   587                                                          type: array
   588                                                          items:
   589                                                            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.
   590                                                            type: object
   591                                                            properties:
   592                                                              matchExpressions:
   593                                                                description: A list of node selector requirements by node's labels.
   594                                                                type: array
   595                                                                items:
   596                                                                  description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   597                                                                  type: object
   598                                                                  required:
   599                                                                    - key
   600                                                                    - operator
   601                                                                  properties:
   602                                                                    key:
   603                                                                      description: The label key that the selector applies to.
   604                                                                      type: string
   605                                                                    operator:
   606                                                                      description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
   607                                                                      type: string
   608                                                                    values:
   609                                                                      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.
   610                                                                      type: array
   611                                                                      items:
   612                                                                        type: string
   613                                                              matchFields:
   614                                                                description: A list of node selector requirements by node's fields.
   615                                                                type: array
   616                                                                items:
   617                                                                  description: A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   618                                                                  type: object
   619                                                                  required:
   620                                                                    - key
   621                                                                    - operator
   622                                                                  properties:
   623                                                                    key:
   624                                                                      description: The label key that the selector applies to.
   625                                                                      type: string
   626                                                                    operator:
   627                                                                      description: Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
   628                                                                      type: string
   629                                                                    values:
   630                                                                      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.
   631                                                                      type: array
   632                                                                      items:
   633                                                                        type: string
   634                                                podAffinity:
   635                                                  description: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
   636                                                  type: object
   637                                                  properties:
   638                                                    preferredDuringSchedulingIgnoredDuringExecution:
   639                                                      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.
   640                                                      type: array
   641                                                      items:
   642                                                        description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
   643                                                        type: object
   644                                                        required:
   645                                                          - podAffinityTerm
   646                                                          - weight
   647                                                        properties:
   648                                                          podAffinityTerm:
   649                                                            description: Required. A pod affinity term, associated with the corresponding weight.
   650                                                            type: object
   651                                                            required:
   652                                                              - topologyKey
   653                                                            properties:
   654                                                              labelSelector:
   655                                                                description: A label query over a set of resources, in this case pods.
   656                                                                type: object
   657                                                                properties:
   658                                                                  matchExpressions:
   659                                                                    description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   660                                                                    type: array
   661                                                                    items:
   662                                                                      description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   663                                                                      type: object
   664                                                                      required:
   665                                                                        - key
   666                                                                        - operator
   667                                                                      properties:
   668                                                                        key:
   669                                                                          description: key is the label key that the selector applies to.
   670                                                                          type: string
   671                                                                        operator:
   672                                                                          description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   673                                                                          type: string
   674                                                                        values:
   675                                                                          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.
   676                                                                          type: array
   677                                                                          items:
   678                                                                            type: string
   679                                                                  matchLabels:
   680                                                                    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.
   681                                                                    type: object
   682                                                                    additionalProperties:
   683                                                                      type: string
   684                                                              namespaceSelector:
   685                                                                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. This field is beta-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
   686                                                                type: object
   687                                                                properties:
   688                                                                  matchExpressions:
   689                                                                    description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   690                                                                    type: array
   691                                                                    items:
   692                                                                      description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   693                                                                      type: object
   694                                                                      required:
   695                                                                        - key
   696                                                                        - operator
   697                                                                      properties:
   698                                                                        key:
   699                                                                          description: key is the label key that the selector applies to.
   700                                                                          type: string
   701                                                                        operator:
   702                                                                          description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   703                                                                          type: string
   704                                                                        values:
   705                                                                          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.
   706                                                                          type: array
   707                                                                          items:
   708                                                                            type: string
   709                                                                  matchLabels:
   710                                                                    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.
   711                                                                    type: object
   712                                                                    additionalProperties:
   713                                                                      type: string
   714                                                              namespaces:
   715                                                                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"
   716                                                                type: array
   717                                                                items:
   718                                                                  type: string
   719                                                              topologyKey:
   720                                                                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.
   721                                                                type: string
   722                                                          weight:
   723                                                            description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
   724                                                            type: integer
   725                                                            format: int32
   726                                                    requiredDuringSchedulingIgnoredDuringExecution:
   727                                                      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.
   728                                                      type: array
   729                                                      items:
   730                                                        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
   731                                                        type: object
   732                                                        required:
   733                                                          - topologyKey
   734                                                        properties:
   735                                                          labelSelector:
   736                                                            description: A label query over a set of resources, in this case pods.
   737                                                            type: object
   738                                                            properties:
   739                                                              matchExpressions:
   740                                                                description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   741                                                                type: array
   742                                                                items:
   743                                                                  description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   744                                                                  type: object
   745                                                                  required:
   746                                                                    - key
   747                                                                    - operator
   748                                                                  properties:
   749                                                                    key:
   750                                                                      description: key is the label key that the selector applies to.
   751                                                                      type: string
   752                                                                    operator:
   753                                                                      description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   754                                                                      type: string
   755                                                                    values:
   756                                                                      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.
   757                                                                      type: array
   758                                                                      items:
   759                                                                        type: string
   760                                                              matchLabels:
   761                                                                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.
   762                                                                type: object
   763                                                                additionalProperties:
   764                                                                  type: string
   765                                                          namespaceSelector:
   766                                                            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. This field is beta-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
   767                                                            type: object
   768                                                            properties:
   769                                                              matchExpressions:
   770                                                                description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   771                                                                type: array
   772                                                                items:
   773                                                                  description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   774                                                                  type: object
   775                                                                  required:
   776                                                                    - key
   777                                                                    - operator
   778                                                                  properties:
   779                                                                    key:
   780                                                                      description: key is the label key that the selector applies to.
   781                                                                      type: string
   782                                                                    operator:
   783                                                                      description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   784                                                                      type: string
   785                                                                    values:
   786                                                                      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.
   787                                                                      type: array
   788                                                                      items:
   789                                                                        type: string
   790                                                              matchLabels:
   791                                                                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.
   792                                                                type: object
   793                                                                additionalProperties:
   794                                                                  type: string
   795                                                          namespaces:
   796                                                            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"
   797                                                            type: array
   798                                                            items:
   799                                                              type: string
   800                                                          topologyKey:
   801                                                            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.
   802                                                            type: string
   803                                                podAntiAffinity:
   804                                                  description: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
   805                                                  type: object
   806                                                  properties:
   807                                                    preferredDuringSchedulingIgnoredDuringExecution:
   808                                                      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.
   809                                                      type: array
   810                                                      items:
   811                                                        description: The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
   812                                                        type: object
   813                                                        required:
   814                                                          - podAffinityTerm
   815                                                          - weight
   816                                                        properties:
   817                                                          podAffinityTerm:
   818                                                            description: Required. A pod affinity term, associated with the corresponding weight.
   819                                                            type: object
   820                                                            required:
   821                                                              - topologyKey
   822                                                            properties:
   823                                                              labelSelector:
   824                                                                description: A label query over a set of resources, in this case pods.
   825                                                                type: object
   826                                                                properties:
   827                                                                  matchExpressions:
   828                                                                    description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   829                                                                    type: array
   830                                                                    items:
   831                                                                      description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   832                                                                      type: object
   833                                                                      required:
   834                                                                        - key
   835                                                                        - operator
   836                                                                      properties:
   837                                                                        key:
   838                                                                          description: key is the label key that the selector applies to.
   839                                                                          type: string
   840                                                                        operator:
   841                                                                          description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   842                                                                          type: string
   843                                                                        values:
   844                                                                          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.
   845                                                                          type: array
   846                                                                          items:
   847                                                                            type: string
   848                                                                  matchLabels:
   849                                                                    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.
   850                                                                    type: object
   851                                                                    additionalProperties:
   852                                                                      type: string
   853                                                              namespaceSelector:
   854                                                                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. This field is beta-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
   855                                                                type: object
   856                                                                properties:
   857                                                                  matchExpressions:
   858                                                                    description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   859                                                                    type: array
   860                                                                    items:
   861                                                                      description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   862                                                                      type: object
   863                                                                      required:
   864                                                                        - key
   865                                                                        - operator
   866                                                                      properties:
   867                                                                        key:
   868                                                                          description: key is the label key that the selector applies to.
   869                                                                          type: string
   870                                                                        operator:
   871                                                                          description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   872                                                                          type: string
   873                                                                        values:
   874                                                                          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.
   875                                                                          type: array
   876                                                                          items:
   877                                                                            type: string
   878                                                                  matchLabels:
   879                                                                    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.
   880                                                                    type: object
   881                                                                    additionalProperties:
   882                                                                      type: string
   883                                                              namespaces:
   884                                                                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"
   885                                                                type: array
   886                                                                items:
   887                                                                  type: string
   888                                                              topologyKey:
   889                                                                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.
   890                                                                type: string
   891                                                          weight:
   892                                                            description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
   893                                                            type: integer
   894                                                            format: int32
   895                                                    requiredDuringSchedulingIgnoredDuringExecution:
   896                                                      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.
   897                                                      type: array
   898                                                      items:
   899                                                        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
   900                                                        type: object
   901                                                        required:
   902                                                          - topologyKey
   903                                                        properties:
   904                                                          labelSelector:
   905                                                            description: A label query over a set of resources, in this case pods.
   906                                                            type: object
   907                                                            properties:
   908                                                              matchExpressions:
   909                                                                description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   910                                                                type: array
   911                                                                items:
   912                                                                  description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   913                                                                  type: object
   914                                                                  required:
   915                                                                    - key
   916                                                                    - operator
   917                                                                  properties:
   918                                                                    key:
   919                                                                      description: key is the label key that the selector applies to.
   920                                                                      type: string
   921                                                                    operator:
   922                                                                      description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   923                                                                      type: string
   924                                                                    values:
   925                                                                      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.
   926                                                                      type: array
   927                                                                      items:
   928                                                                        type: string
   929                                                              matchLabels:
   930                                                                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.
   931                                                                type: object
   932                                                                additionalProperties:
   933                                                                  type: string
   934                                                          namespaceSelector:
   935                                                            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. This field is beta-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
   936                                                            type: object
   937                                                            properties:
   938                                                              matchExpressions:
   939                                                                description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
   940                                                                type: array
   941                                                                items:
   942                                                                  description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
   943                                                                  type: object
   944                                                                  required:
   945                                                                    - key
   946                                                                    - operator
   947                                                                  properties:
   948                                                                    key:
   949                                                                      description: key is the label key that the selector applies to.
   950                                                                      type: string
   951                                                                    operator:
   952                                                                      description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
   953                                                                      type: string
   954                                                                    values:
   955                                                                      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.
   956                                                                      type: array
   957                                                                      items:
   958                                                                        type: string
   959                                                              matchLabels:
   960                                                                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.
   961                                                                type: object
   962                                                                additionalProperties:
   963                                                                  type: string
   964                                                          namespaces:
   965                                                            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"
   966                                                            type: array
   967                                                            items:
   968                                                              type: string
   969                                                          topologyKey:
   970                                                            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.
   971                                                            type: string
   972                                            nodeSelector:
   973                                              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/'
   974                                              type: object
   975                                              additionalProperties:
   976                                                type: string
   977                                            priorityClassName:
   978                                              description: If specified, the pod's priorityClassName.
   979                                              type: string
   980                                            serviceAccountName:
   981                                              description: If specified, the pod's service account
   982                                              type: string
   983                                            tolerations:
   984                                              description: If specified, the pod's tolerations.
   985                                              type: array
   986                                              items:
   987                                                description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
   988                                                type: object
   989                                                properties:
   990                                                  effect:
   991                                                    description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
   992                                                    type: string
   993                                                  key:
   994                                                    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.
   995                                                    type: string
   996                                                  operator:
   997                                                    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.
   998                                                    type: string
   999                                                  tolerationSeconds:
  1000                                                    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.
  1001                                                    type: integer
  1002                                                    format: int64
  1003                                                  value:
  1004                                                    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.
  1005                                                    type: string
  1006                                    serviceType:
  1007                                      description: Optional service type for Kubernetes solver service. Supported values are NodePort or ClusterIP. If unset, defaults to NodePort.
  1008                                      type: string
  1009                            selector:
  1010                              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.
  1011                              type: object
  1012                              properties:
  1013                                dnsNames:
  1014                                  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.
  1015                                  type: array
  1016                                  items:
  1017                                    type: string
  1018                                dnsZones:
  1019                                  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.
  1020                                  type: array
  1021                                  items:
  1022                                    type: string
  1023                                matchLabels:
  1024                                  description: A label selector that is used to refine the set of certificate's that this challenge solver will apply to.
  1025                                  type: object
  1026                                  additionalProperties:
  1027                                    type: string
  1028                  ca:
  1029                    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.
  1030                    type: object
  1031                    required:
  1032                      - secretName
  1033                    properties:
  1034                      crlDistributionPoints:
  1035                        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.
  1036                        type: array
  1037                        items:
  1038                          type: string
  1039                      ocspServers:
  1040                        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".
  1041                        type: array
  1042                        items:
  1043                          type: string
  1044                      secretName:
  1045                        description: SecretName is the name of the secret used to sign Certificates issued by this Issuer.
  1046                        type: string
  1047                  selfSigned:
  1048                    description: SelfSigned configures this issuer to 'self sign' certificates using the private key used to create the CertificateRequest object.
  1049                    type: object
  1050                    properties:
  1051                      crlDistributionPoints:
  1052                        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.
  1053                        type: array
  1054                        items:
  1055                          type: string
  1056                  vault:
  1057                    description: Vault configures this issuer to sign certificates using a HashiCorp Vault PKI backend.
  1058                    type: object
  1059                    required:
  1060                      - auth
  1061                      - path
  1062                      - server
  1063                    properties:
  1064                      auth:
  1065                        description: Auth configures how cert-manager authenticates with the Vault server.
  1066                        type: object
  1067                        properties:
  1068                          appRole:
  1069                            description: AppRole authenticates with Vault using the App Role auth mechanism, with the role and secret stored in a Kubernetes Secret resource.
  1070                            type: object
  1071                            required:
  1072                              - path
  1073                              - roleId
  1074                              - secretRef
  1075                            properties:
  1076                              path:
  1077                                description: 'Path where the App Role authentication backend is mounted in Vault, e.g: "approle"'
  1078                                type: string
  1079                              roleId:
  1080                                description: RoleID configured in the App Role authentication backend when setting up the authentication backend in Vault.
  1081                                type: string
  1082                              secretRef:
  1083                                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.
  1084                                type: object
  1085                                required:
  1086                                  - name
  1087                                properties:
  1088                                  key:
  1089                                    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.
  1090                                    type: string
  1091                                  name:
  1092                                    description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1093                                    type: string
  1094                          kubernetes:
  1095                            description: Kubernetes authenticates with Vault by passing the ServiceAccount token stored in the named Secret resource to the Vault server.
  1096                            type: object
  1097                            required:
  1098                              - role
  1099                              - secretRef
  1100                            properties:
  1101                              mountPath:
  1102                                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.
  1103                                type: string
  1104                              role:
  1105                                description: A required field containing the Vault Role to assume. A Role binds a Kubernetes ServiceAccount with a set of Vault policies.
  1106                                type: string
  1107                              secretRef:
  1108                                description: The required Secret field containing a Kubernetes ServiceAccount JWT used for authenticating with Vault. Use of 'ambient credentials' is not supported.
  1109                                type: object
  1110                                required:
  1111                                  - name
  1112                                properties:
  1113                                  key:
  1114                                    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.
  1115                                    type: string
  1116                                  name:
  1117                                    description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1118                                    type: string
  1119                          tokenSecretRef:
  1120                            description: TokenSecretRef authenticates with Vault by presenting a token.
  1121                            type: object
  1122                            required:
  1123                              - name
  1124                            properties:
  1125                              key:
  1126                                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.
  1127                                type: string
  1128                              name:
  1129                                description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1130                                type: string
  1131                      caBundle:
  1132                        description: PEM-encoded CA bundle (base64-encoded) used to validate Vault server certificate. Only used if the Server URL is using HTTPS protocol. This parameter is ignored for plain HTTP protocol connection. If not set the system root certificates are used to validate the TLS connection.
  1133                        type: string
  1134                        format: byte
  1135                      namespace:
  1136                        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'
  1137                        type: string
  1138                      path:
  1139                        description: 'Path is the mount path of the Vault PKI backend''s `sign` endpoint, e.g: "my_pki_mount/sign/my-role-name".'
  1140                        type: string
  1141                      server:
  1142                        description: 'Server is the connection address for the Vault server, e.g: "https://vault.example.com:8200".'
  1143                        type: string
  1144                  venafi:
  1145                    description: Venafi configures this issuer to sign certificates using a Venafi TPP or Venafi Cloud policy zone.
  1146                    type: object
  1147                    required:
  1148                      - zone
  1149                    properties:
  1150                      cloud:
  1151                        description: Cloud specifies the Venafi cloud configuration settings. Only one of TPP or Cloud may be specified.
  1152                        type: object
  1153                        required:
  1154                          - apiTokenSecretRef
  1155                        properties:
  1156                          apiTokenSecretRef:
  1157                            description: APITokenSecretRef is a secret key selector for the Venafi Cloud API token.
  1158                            type: object
  1159                            required:
  1160                              - name
  1161                            properties:
  1162                              key:
  1163                                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.
  1164                                type: string
  1165                              name:
  1166                                description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1167                                type: string
  1168                          url:
  1169                            description: URL is the base URL for Venafi Cloud. Defaults to "https://api.venafi.cloud/v1".
  1170                            type: string
  1171                      tpp:
  1172                        description: TPP specifies Trust Protection Platform configuration settings. Only one of TPP or Cloud may be specified.
  1173                        type: object
  1174                        required:
  1175                          - credentialsRef
  1176                          - url
  1177                        properties:
  1178                          caBundle:
  1179                            description: CABundle is a PEM encoded TLS certificate to use to verify connections to the TPP instance. If specified, system roots will not be used and the issuing CA for the TPP instance must be verifiable using the provided root. If not specified, the connection will be verified using the cert-manager system root certificates.
  1180                            type: string
  1181                            format: byte
  1182                          credentialsRef:
  1183                            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'.
  1184                            type: object
  1185                            required:
  1186                              - name
  1187                            properties:
  1188                              name:
  1189                                description: 'Name of the resource being referred to. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  1190                                type: string
  1191                          url:
  1192                            description: 'URL is the base URL for the vedsdk endpoint of the Venafi TPP instance, for example: "https://tpp.example.com/vedsdk".'
  1193                            type: string
  1194                      zone:
  1195                        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.
  1196                        type: string
  1197              status:
  1198                description: Status of the ClusterIssuer. This is set and managed automatically.
  1199                type: object
  1200                properties:
  1201                  acme:
  1202                    description: ACME specific status options. This field should only be set if the Issuer is configured to use an ACME server to issue certificates.
  1203                    type: object
  1204                    properties:
  1205                      lastRegisteredEmail:
  1206                        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
  1207                        type: string
  1208                      uri:
  1209                        description: URI is the unique account identifier, which can also be used to retrieve account details from the CA
  1210                        type: string
  1211                  conditions:
  1212                    description: List of status conditions to indicate the status of a CertificateRequest. Known condition types are `Ready`.
  1213                    type: array
  1214                    items:
  1215                      description: IssuerCondition contains condition information for an Issuer.
  1216                      type: object
  1217                      required:
  1218                        - status
  1219                        - type
  1220                      properties:
  1221                        lastTransitionTime:
  1222                          description: LastTransitionTime is the timestamp corresponding to the last status change of this condition.
  1223                          type: string
  1224                          format: date-time
  1225                        message:
  1226                          description: Message is a human readable description of the details of the last transition, complementing reason.
  1227                          type: string
  1228                        observedGeneration:
  1229                          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.
  1230                          type: integer
  1231                          format: int64
  1232                        reason:
  1233                          description: Reason is a brief machine readable explanation for the condition's last transition.
  1234                          type: string
  1235                        status:
  1236                          description: Status of the condition, one of (`True`, `False`, `Unknown`).
  1237                          type: string
  1238                          enum:
  1239                            - "True"
  1240                            - "False"
  1241                            - Unknown
  1242                        type:
  1243                          description: Type of the condition, known values are (`Ready`).
  1244                          type: string
  1245                    x-kubernetes-list-map-keys:
  1246                      - type
  1247                    x-kubernetes-list-type: map
  1248        served: true
  1249        storage: true
  1250