apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: kubeletupgrades.clusterop.isim.dev
spec:
  names:
    categories: ["clusterop"]
    kind: KubeletUpgrade
    listKind: KubeletUpgradeList
    plural: kubeletupgrades
    shortNames: ["kc"]
    singular: kubeletupgrade
  group: clusterop.isim.dev
  scope: Cluster
  versions:
  - name: v1alpha1
    served: true
    storage: true
    subresources:
      status: {}
    additionalPrinterColumns:
    - name: Kubelet Version
      description: The kubelet version of the last successful upgrade.
      jsonPath: .status.kubeletVersion
      type: string
    - name: Next Scheduled Time
      description: The datetime of the next scheduled upgrade
      format: date-time
      jsonPath: .status.nextScheduledTime
      type: string
    schema:
      openAPIV3Schema:
        type: object
        properties:
          spec:
            type: object
            properties:
              failurePolicy:
                type: string
              maxUnavailable:
                type: integer
              schedule:
                type: string
              selector:
                type: object
                properties:
                  matchExpressions:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        operator:
                          type: string
                        values:
                          type: array
                          items:
                            type: string
              strategy:
                type: string
              targetKubeletVersion:
                type: string
          status:
            type: object
            properties:
              conditions:
                type: array
                items:
                  type: object
                  properties:
                    lastTransitionTime:
                      type: string
                      format: date-time
                    message:
                      type: string
                    reason:
                      type: string
                    status:
                      type: string
                    type:
                      type: string
              kubeletVersion:
                type: string
              nextScheduledTime:
                type: string
                format: date-time
