apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.13.0
  name: providers.pkg.crossplane.io
spec:
  group: pkg.crossplane.io
  names:
    categories:
    - crossplane
    - pkg
    kind: Provider
    listKind: ProviderList
    plural: providers
    singular: provider
  scope: Cluster
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Installed')].status
      name: INSTALLED
      type: string
    - jsonPath: .status.conditions[?(@.type=='Healthy')].status
      name: HEALTHY
      type: string
    - jsonPath: .spec.package
      name: PACKAGE
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: AGE
      type: date
    name: v1
    schema:
      openAPIV3Schema:
        description: Provider is the CRD type for a request to add a provider to Crossplane.
        properties:
          apiVersion:
            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'
            type: string
          kind:
            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'
            type: string
          metadata:
            type: object
          spec:
            description: ProviderSpec specifies details about a request to install
              a provider to Crossplane.
            properties:
              commonLabels:
                additionalProperties:
                  type: string
                description: 'Map of string keys and values that can be used to organize
                  and categorize (scope and select) objects. May match selectors of
                  replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
                type: object
              controllerConfigRef:
                description: 'ControllerConfigRef references a ControllerConfig resource
                  that will be used to configure the packaged controller Deployment.
                  Deprecated: Use RuntimeConfigReference instead.'
                properties:
                  name:
                    description: Name of the ControllerConfig.
                    type: string
                required:
                - name
                type: object
              ignoreCrossplaneConstraints:
                default: false
                description: IgnoreCrossplaneConstraints indicates to the package
                  manager whether to honor Crossplane version constrains specified
                  by the package. Default is false.
                type: boolean
              package:
                description: Package is the name of the package that is being requested.
                type: string
              packagePullPolicy:
                default: IfNotPresent
                description: PackagePullPolicy defines the pull policy for the package.
                  Default is IfNotPresent.
                type: string
              packagePullSecrets:
                description: PackagePullSecrets are named secrets in the same namespace
                  that can be used to fetch packages from private registries.
                items:
                  description: LocalObjectReference contains enough information to
                    let you locate the referenced object inside the same namespace.
                  properties:
                    name:
                      description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                        TODO: Add other useful fields. apiVersion, kind, uid?'
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                type: array
              revisionActivationPolicy:
                default: Automatic
                description: RevisionActivationPolicy specifies how the package controller
                  should update from one revision to the next. Options are Automatic
                  or Manual. Default is Automatic.
                type: string
              revisionHistoryLimit:
                default: 1
                description: RevisionHistoryLimit dictates how the package controller
                  cleans up old inactive package revisions. Defaults to 1. Can be
                  disabled by explicitly setting to 0.
                format: int64
                type: integer
              runtimeConfigRef:
                default:
                  name: default
                description: RuntimeConfigRef references a RuntimeConfig resource
                  that will be used to configure the package runtime.
                properties:
                  apiVersion:
                    default: pkg.crossplane.io/v1beta1
                    description: API version of the referent.
                    type: string
                  kind:
                    default: DeploymentRuntimeConfig
                    description: Kind of the referent.
                    type: string
                  name:
                    description: Name of the RuntimeConfig.
                    type: string
                required:
                - name
                type: object
              skipDependencyResolution:
                default: false
                description: SkipDependencyResolution indicates to the package manager
                  whether to skip resolving dependencies for a package. Setting this
                  value to true may have unintended consequences. Default is false.
                type: boolean
            required:
            - package
            type: object
          status:
            description: ProviderStatus represents the observed state of a Provider.
            properties:
              conditions:
                description: Conditions of the resource.
                items:
                  description: A Condition that may apply to a resource.
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time this condition
                        transitioned from one status to another.
                      format: date-time
                      type: string
                    message:
                      description: A Message containing details about this condition's
                        last transition from one status to another, if any.
                      type: string
                    reason:
                      description: A Reason for this condition's last transition from
                        one status to another.
                      type: string
                    status:
                      description: Status of this condition; is it currently True,
                        False, or Unknown?
                      type: string
                    type:
                      description: Type of this condition. At most one of each condition
                        type may apply to a resource at any point in time.
                      type: string
                  required:
                  - lastTransitionTime
                  - reason
                  - status
                  - type
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - type
                x-kubernetes-list-type: map
              currentIdentifier:
                description: CurrentIdentifier is the most recent package source that
                  was used to produce a revision. The package manager uses this field
                  to determine whether to check for package updates for a given source
                  when packagePullPolicy is set to IfNotPresent. Manually removing
                  this field will cause the package manager to check that the current
                  revision is correct for the given package source.
                type: string
              currentRevision:
                description: CurrentRevision is the name of the current package revision.
                  It will reflect the most up to date revision, whether it has been
                  activated or not.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
