---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  labels:
    app: cert-manager
    app.kubernetes.io/instance: cert-manager
    app.kubernetes.io/name: cert-manager
    app.kubernetes.io/version: v1.14.5
  name: challenges.acme.cert-manager.io
spec:
  group: acme.cert-manager.io
  names:
    categories:
      - cert-manager
      - cert-manager-acme
    kind: Challenge
    listKind: ChallengeList
    plural: challenges
    singular: challenge
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - jsonPath: .status.state
          name: State
          type: string
        - jsonPath: .spec.dnsName
          name: Domain
          type: string
        - jsonPath: .status.reason
          name: Reason
          priority: 1
          type: string
        - jsonPath: .metadata.creationTimestamp
          name: Age
          type: date
      name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              properties:
                authorizationURL:
                  type: string
                dnsName:
                  type: string
                issuerRef:
                  properties:
                    group:
                      type: string
                    kind:
                      type: string
                    name:
                      type: string
                  required:
                    - name
                  type: object
                key:
                  type: string
                solver:
                  properties:
                    dns01:
                      properties:
                        acmeDNS:
                          properties:
                            accountSecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                            host:
                              type: string
                          required:
                            - accountSecretRef
                            - host
                          type: object
                        akamai:
                          properties:
                            accessTokenSecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                            clientSecretSecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                            clientTokenSecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                            serviceConsumerDomain:
                              type: string
                          required:
                            - accessTokenSecretRef
                            - clientSecretSecretRef
                            - clientTokenSecretRef
                            - serviceConsumerDomain
                          type: object
                        azureDNS:
                          properties:
                            clientID:
                              type: string
                            clientSecretSecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                            environment:
                              enum:
                                - AzurePublicCloud
                                - AzureChinaCloud
                                - AzureGermanCloud
                                - AzureUSGovernmentCloud
                              type: string
                            hostedZoneName:
                              type: string
                            managedIdentity:
                              properties:
                                clientID:
                                  type: string
                                resourceID:
                                  type: string
                              type: object
                            resourceGroupName:
                              type: string
                            subscriptionID:
                              type: string
                            tenantID:
                              type: string
                          required:
                            - resourceGroupName
                            - subscriptionID
                          type: object
                        cloudDNS:
                          properties:
                            hostedZoneName:
                              type: string
                            project:
                              type: string
                            serviceAccountSecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                          required:
                            - project
                          type: object
                        cloudflare:
                          properties:
                            apiKeySecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                            apiTokenSecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                            email:
                              type: string
                          type: object
                        cnameStrategy:
                          enum:
                            - None
                            - Follow
                          type: string
                        digitalocean:
                          properties:
                            tokenSecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                          required:
                            - tokenSecretRef
                          type: object
                        rfc2136:
                          properties:
                            nameserver:
                              type: string
                            tsigAlgorithm:
                              type: string
                            tsigKeyName:
                              type: string
                            tsigSecretSecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                          required:
                            - nameserver
                          type: object
                        route53:
                          properties:
                            accessKeyID:
                              type: string
                            accessKeyIDSecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                            hostedZoneID:
                              type: string
                            region:
                              type: string
                            role:
                              type: string
                            secretAccessKeySecretRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                              required:
                                - name
                              type: object
                          required:
                            - region
                          type: object
                        webhook:
                          properties:
                            config:
                              x-kubernetes-preserve-unknown-fields: true
                            groupName:
                              type: string
                            solverName:
                              type: string
                          required:
                            - groupName
                            - solverName
                          type: object
                      type: object
                    http01:
                      properties:
                        gatewayHTTPRoute:
                          properties:
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                            parentRefs:
                              items:
                                properties:
                                  group:
                                    default: gateway.networking.k8s.io
                                    maxLength: 253
                                    pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                    type: string
                                  kind:
                                    default: Gateway
                                    maxLength: 63
                                    minLength: 1
                                    pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
                                    type: string
                                  name:
                                    maxLength: 253
                                    minLength: 1
                                    type: string
                                  namespace:
                                    maxLength: 63
                                    minLength: 1
                                    pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                    type: string
                                  port:
                                    format: int32
                                    maximum: 65535
                                    minimum: 1
                                    type: integer
                                  sectionName:
                                    maxLength: 253
                                    minLength: 1
                                    pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                    type: string
                                required:
                                  - name
                                type: object
                              type: array
                            serviceType:
                              type: string
                          type: object
                        ingress:
                          properties:
                            class:
                              type: string
                            ingressClassName:
                              type: string
                            ingressTemplate:
                              properties:
                                metadata:
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                              type: object
                            name:
                              type: string
                            podTemplate:
                              properties:
                                metadata:
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                spec:
                                  properties:
                                    affinity:
                                      properties:
                                        nodeAffinity:
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              items:
                                                properties:
                                                  preference:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              items:
                                                                type: string
                                                              type: array
                                                          required:
                                                            - key
                                                            - operator
                                                          type: object
                                                        type: array
                                                      matchFields:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              items:
                                                                type: string
                                                              type: array
                                                          required:
                                                            - key
                                                            - operator
                                                          type: object
                                                        type: array
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  weight:
                                                    format: int32
                                                    type: integer
                                                required:
                                                  - preference
                                                  - weight
                                                type: object
                                              type: array
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              properties:
                                                nodeSelectorTerms:
                                                  items:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              items:
                                                                type: string
                                                              type: array
                                                          required:
                                                            - key
                                                            - operator
                                                          type: object
                                                        type: array
                                                      matchFields:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              items:
                                                                type: string
                                                              type: array
                                                          required:
                                                            - key
                                                            - operator
                                                          type: object
                                                        type: array
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  type: array
                                              required:
                                                - nodeSelectorTerms
                                              type: object
                                              x-kubernetes-map-type: atomic
                                          type: object
                                        podAffinity:
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              items:
                                                properties:
                                                  podAffinityTerm:
                                                    properties:
                                                      labelSelector:
                                                        properties:
                                                          matchExpressions:
                                                            items:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                operator:
                                                                  type: string
                                                                values:
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                              required:
                                                                - key
                                                                - operator
                                                              type: object
                                                            type: array
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        properties:
                                                          matchExpressions:
                                                            items:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                operator:
                                                                  type: string
                                                                values:
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                              required:
                                                                - key
                                                                - operator
                                                              type: object
                                                            type: array
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        items:
                                                          type: string
                                                        type: array
                                                      topologyKey:
                                                        type: string
                                                    required:
                                                      - topologyKey
                                                    type: object
                                                  weight:
                                                    format: int32
                                                    type: integer
                                                required:
                                                  - podAffinityTerm
                                                  - weight
                                                type: object
                                              type: array
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              items:
                                                properties:
                                                  labelSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              items:
                                                                type: string
                                                              type: array
                                                          required:
                                                            - key
                                                            - operator
                                                          type: object
                                                        type: array
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              items:
                                                                type: string
                                                              type: array
                                                          required:
                                                            - key
                                                            - operator
                                                          type: object
                                                        type: array
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    items:
                                                      type: string
                                                    type: array
                                                  topologyKey:
                                                    type: string
                                                required:
                                                  - topologyKey
                                                type: object
                                              type: array
                                          type: object
                                        podAntiAffinity:
                                          properties:
                                            preferredDuringSchedulingIgnoredDuringExecution:
                                              items:
                                                properties:
                                                  podAffinityTerm:
                                                    properties:
                                                      labelSelector:
                                                        properties:
                                                          matchExpressions:
                                                            items:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                operator:
                                                                  type: string
                                                                values:
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                              required:
                                                                - key
                                                                - operator
                                                              type: object
                                                            type: array
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      matchLabelKeys:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      mismatchLabelKeys:
                                                        items:
                                                          type: string
                                                        type: array
                                                        x-kubernetes-list-type: atomic
                                                      namespaceSelector:
                                                        properties:
                                                          matchExpressions:
                                                            items:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                operator:
                                                                  type: string
                                                                values:
                                                                  items:
                                                                    type: string
                                                                  type: array
                                                              required:
                                                                - key
                                                                - operator
                                                              type: object
                                                            type: array
                                                          matchLabels:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                        type: object
                                                        x-kubernetes-map-type: atomic
                                                      namespaces:
                                                        items:
                                                          type: string
                                                        type: array
                                                      topologyKey:
                                                        type: string
                                                    required:
                                                      - topologyKey
                                                    type: object
                                                  weight:
                                                    format: int32
                                                    type: integer
                                                required:
                                                  - podAffinityTerm
                                                  - weight
                                                type: object
                                              type: array
                                            requiredDuringSchedulingIgnoredDuringExecution:
                                              items:
                                                properties:
                                                  labelSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              items:
                                                                type: string
                                                              type: array
                                                          required:
                                                            - key
                                                            - operator
                                                          type: object
                                                        type: array
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  matchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  mismatchLabelKeys:
                                                    items:
                                                      type: string
                                                    type: array
                                                    x-kubernetes-list-type: atomic
                                                  namespaceSelector:
                                                    properties:
                                                      matchExpressions:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            operator:
                                                              type: string
                                                            values:
                                                              items:
                                                                type: string
                                                              type: array
                                                          required:
                                                            - key
                                                            - operator
                                                          type: object
                                                        type: array
                                                      matchLabels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                    type: object
                                                    x-kubernetes-map-type: atomic
                                                  namespaces:
                                                    items:
                                                      type: string
                                                    type: array
                                                  topologyKey:
                                                    type: string
                                                required:
                                                  - topologyKey
                                                type: object
                                              type: array
                                          type: object
                                      type: object
                                    imagePullSecrets:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                        type: object
                                        x-kubernetes-map-type: atomic
                                      type: array
                                    nodeSelector:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    priorityClassName:
                                      type: string
                                    serviceAccountName:
                                      type: string
                                    tolerations:
                                      items:
                                        properties:
                                          effect:
                                            type: string
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          tolerationSeconds:
                                            format: int64
                                            type: integer
                                          value:
                                            type: string
                                        type: object
                                      type: array
                                  type: object
                              type: object
                            serviceType:
                              type: string
                          type: object
                      type: object
                    selector:
                      properties:
                        dnsNames:
                          items:
                            type: string
                          type: array
                        dnsZones:
                          items:
                            type: string
                          type: array
                        matchLabels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                  type: object
                token:
                  type: string
                type:
                  enum:
                    - HTTP-01
                    - DNS-01
                  type: string
                url:
                  type: string
                wildcard:
                  type: boolean
              required:
                - authorizationURL
                - dnsName
                - issuerRef
                - key
                - solver
                - token
                - type
                - url
              type: object
            status:
              properties:
                presented:
                  type: boolean
                processing:
                  type: boolean
                reason:
                  type: string
                state:
                  enum:
                    - valid
                    - ready
                    - pending
                    - processing
                    - invalid
                    - expired
                    - errored
                  type: string
              type: object
          required:
            - metadata
            - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
