---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.2
  name: packagebundlecontrollers.packages.eks.amazonaws.com
spec:
  group: packages.eks.amazonaws.com
  names:
    kind: PackageBundleController
    listKind: PackageBundleControllerList
    plural: packagebundlecontrollers
    shortNames:
    - pbc
    singular: packagebundlecontroller
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .spec.activeBundle
      name: ActiveBundle
      type: string
    - jsonPath: .status.state
      name: State
      type: string
    - jsonPath: .status.detail
      name: Detail
      type: string
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: PackageBundleController is the Schema for the packagebundlecontroller
          API.
        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: |-
              PackageBundleControllerSpec defines the desired state of
              PackageBundleController.
            properties:
              activeBundle:
                description: ActiveBundle is name of the bundle from which packages
                  should be sourced.
                type: string
              bundleRepository:
                default: eks-anywhere-packages-bundles
                description: Repository portion of an OCI address to the bundle
                type: string
              createNamespace:
                default: false
                description: Allow target namespace creation by the controller
                type: boolean
              defaultImageRegistry:
                default: 783794618700.dkr.ecr.us-west-2.amazonaws.com
                description: DefaultImageRegistry for pulling images
                type: string
              defaultRegistry:
                default: public.ecr.aws/eks-anywhere
                description: DefaultRegistry for pulling helm charts and the bundle
                type: string
              logLevel:
                description: LogLevel controls the verbosity of logging in the controller.
                format: int32
                type: integer
              privateRegistry:
                description: PrivateRegistry is the registry being used for all images,
                  charts and bundles
                type: string
              upgradeCheckInterval:
                default: 24h
                description: |-
                  UpgradeCheckInterval is the time between upgrade checks.

                  The format is that of time's ParseDuration.
                type: string
              upgradeCheckShortInterval:
                default: 1h
                description: |-
                  UpgradeCheckShortInterval time between upgrade checks if there is a problem.

                  The format is that of time's ParseDuration.
                type: string
            type: object
          status:
            description: |-
              PackageBundleControllerStatus defines the observed state of
              PackageBundleController.
            properties:
              detail:
                description: Detail of the state.
                type: string
              spec:
                description: Spec previous settings
                properties:
                  activeBundle:
                    description: ActiveBundle is name of the bundle from which packages
                      should be sourced.
                    type: string
                  bundleRepository:
                    default: eks-anywhere-packages-bundles
                    description: Repository portion of an OCI address to the bundle
                    type: string
                  createNamespace:
                    default: false
                    description: Allow target namespace creation by the controller
                    type: boolean
                  defaultImageRegistry:
                    default: 783794618700.dkr.ecr.us-west-2.amazonaws.com
                    description: DefaultImageRegistry for pulling images
                    type: string
                  defaultRegistry:
                    default: public.ecr.aws/eks-anywhere
                    description: DefaultRegistry for pulling helm charts and the bundle
                    type: string
                  logLevel:
                    description: LogLevel controls the verbosity of logging in the
                      controller.
                    format: int32
                    type: integer
                  privateRegistry:
                    description: PrivateRegistry is the registry being used for all
                      images, charts and bundles
                    type: string
                  upgradeCheckInterval:
                    default: 24h
                    description: |-
                      UpgradeCheckInterval is the time between upgrade checks.

                      The format is that of time's ParseDuration.
                    type: string
                  upgradeCheckShortInterval:
                    default: 1h
                    description: |-
                      UpgradeCheckShortInterval time between upgrade checks if there is a problem.

                      The format is that of time's ParseDuration.
                    type: string
                type: object
              state:
                description: State of the bundle controller.
                enum:
                - ignored
                - active
                - disconnected
                - upgrade available
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
