{{- if .Values.crds.managed }}

---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.2.9
  creationTimestamp: null
  name: daemonsets.apps.kruise.io
spec:
  additionalPrinterColumns:
  - JSONPath: .status.desiredNumberScheduled
    description: The desired number of pods.
    name: DesiredNumber
    type: integer
  - JSONPath: .status.currentNumberScheduled
    description: The current number of pods.
    name: CurrentNumber
    type: integer
  - JSONPath: .status.updatedNumberScheduled
    description: The updated number of pods.
    name: UpdatedNumberScheduled
    type: integer
  - JSONPath: .metadata.creationTimestamp
    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.
    name: AGE
    type: date
  group: apps.kruise.io
  names:
    kind: DaemonSet
    listKind: DaemonSetList
    plural: daemonsets
    shortNames:
    - daemon
    singular: daemonset
  scope: Namespaced
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      description: DaemonSet is the Schema for the daemonsets 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: DaemonSetSpec defines the desired state of DaemonSet
          properties:
            burstReplicas:
              anyOf:
              - type: integer
              - type: string
              description: BurstReplicas is a rate limiter for booting pods on a lot
                of pods. The default value is 250
              x-kubernetes-int-or-string: true
            minReadySeconds:
              description: The minimum number of seconds for which a newly created
                DaemonSet pod should be ready without any of its container crashing,
                for it to be considered available. Defaults to 0 (pod will be considered
                available as soon as it is ready).
              format: int32
              type: integer
            revisionHistoryLimit:
              description: The number of old history to retain to allow rollback.
                This is a pointer to distinguish between explicit zero and not specified.
                Defaults to 10.
              format: int32
              type: integer
            selector:
              description: 'A label query over pods that are managed by the daemon
                set. Must match in order to be controlled. It must match the pod template''s
                labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors'
              properties:
                matchExpressions:
                  description: matchExpressions is a list of label selector requirements.
                    The requirements are ANDed.
                  items:
                    description: A label selector requirement is a selector that contains
                      values, a key, and an operator that relates the key and values.
                    properties:
                      key:
                        description: key is the label key that the selector applies
                          to.
                        type: string
                      operator:
                        description: operator represents a key's relationship to a
                          set of values. Valid operators are In, NotIn, Exists and
                          DoesNotExist.
                        type: string
                      values:
                        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.
                        items:
                          type: string
                        type: array
                    required:
                    - key
                    - operator
                    type: object
                  type: array
                matchLabels:
                  additionalProperties:
                    type: string
                  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.
                  type: object
              type: object
            template:
              description: 'An object that describes the pod that will be created.
                The DaemonSet will create exactly one copy of this pod on every node
                that matches the template''s node selector (or on every node if no
                node selector is specified). More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template'
              type: object
              x-kubernetes-preserve-unknown-fields: true
            updateStrategy:
              description: An update strategy to replace existing DaemonSet pods with
                new pods.
              properties:
                rollingUpdate:
                  description: Rolling update config params. Present only if type
                    = "RollingUpdate".
                  properties:
                    maxSurge:
                      anyOf:
                      - type: integer
                      - type: string
                      description: 'Only when type=SurgingRollingUpdateType, it works.
                        The maximum number of DaemonSet pods that can be scheduled
                        above the desired number of pods during the update. Value
                        can be an absolute number (ex: 5) or a percentage of the total
                        number of DaemonSet pods at the start of the update (ex: 10%).
                        The absolute number is calculated from the percentage by rounding
                        up. This cannot be 0. The default value is 1. Example: when
                        this is set to 30%, at most 30% of the total number of nodes
                        that should be running the daemon pod (i.e. status.desiredNumberScheduled)
                        can have 2 pods running at any given time. The update starts
                        by starting replacements for at most 30% of those DaemonSet
                        pods. Once the new pods are available it then stops the existing
                        pods before proceeding onto other DaemonSet pods, thus ensuring
                        that at most 130% of the desired final number of DaemonSet  pods
                        are running at all times during the update.'
                      x-kubernetes-int-or-string: true
                    maxUnavailable:
                      anyOf:
                      - type: integer
                      - type: string
                      description: 'The maximum number of DaemonSet pods that can
                        be unavailable during the update. Value can be an absolute
                        number (ex: 5) or a percentage of total number of DaemonSet
                        pods at the start of the update (ex: 10%). Absolute number
                        is calculated from percentage by rounding up. This cannot
                        be 0. Default value is 1. Example: when this is set to 30%,
                        at most 30% of the total number of nodes that should be running
                        the daemon pod (i.e. status.desiredNumberScheduled) can have
                        their pods stopped for an update at any given time. The update
                        starts by stopping at most 30% of those DaemonSet pods and
                        then brings up new DaemonSet pods in their place. Once the
                        new pods are available, it then proceeds onto other DaemonSet
                        pods, thus ensuring that at least 70% of original number of
                        DaemonSet pods are available at all times during the update.'
                      x-kubernetes-int-or-string: true
                    partition:
                      description: The number of DaemonSet pods remained to be old
                        version. Default value is 0. Maximum value is status.DesiredNumberScheduled,
                        which means no pod will be updated.
                      format: int32
                      type: integer
                    paused:
                      description: Indicates that the daemon set is paused and will
                        not be processed by the daemon set controller.
                      type: boolean
                    rollingUpdateType:
                      description: Type is to specify which kind of rollingUpdate.
                      type: string
                    selector:
                      description: A label query over nodes that are managed by the
                        daemon set RollingUpdate. Must match in order to be controlled.
                        It must match the node's labels.
                      properties:
                        matchExpressions:
                          description: matchExpressions is a list of label selector
                            requirements. The requirements are ANDed.
                          items:
                            description: A label selector requirement is a selector
                              that contains values, a key, and an operator that relates
                              the key and values.
                            properties:
                              key:
                                description: key is the label key that the selector
                                  applies to.
                                type: string
                              operator:
                                description: operator represents a key's relationship
                                  to a set of values. Valid operators are In, NotIn,
                                  Exists and DoesNotExist.
                                type: string
                              values:
                                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.
                                items:
                                  type: string
                                type: array
                            required:
                            - key
                            - operator
                            type: object
                          type: array
                        matchLabels:
                          additionalProperties:
                            type: string
                          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.
                          type: object
                      type: object
                  type: object
                type:
                  description: Type of daemon set update. Can be "RollingUpdate" or
                    "OnDelete". Default is RollingUpdate.
                  type: string
              type: object
          required:
          - selector
          - template
          type: object
        status:
          description: DaemonSetStatus defines the observed state of DaemonSet
          properties:
            collisionCount:
              description: Count of hash collisions for the DaemonSet. The DaemonSet
                controller uses this field as a collision avoidance mechanism when
                it needs to create the name for the newest ControllerRevision.
              format: int32
              type: integer
            conditions:
              description: Represents the latest available observations of a DaemonSet's
                current state.
              items:
                description: DaemonSetCondition describes the state of a DaemonSet
                  at a certain point.
                properties:
                  lastTransitionTime:
                    description: Last time the condition transitioned from one status
                      to another.
                    format: date-time
                    type: string
                  message:
                    description: A human readable message indicating details about
                      the transition.
                    type: string
                  reason:
                    description: The reason for the condition's last transition.
                    type: string
                  status:
                    description: Status of the condition, one of True, False, Unknown.
                    type: string
                  type:
                    description: Type of DaemonSet condition.
                    type: string
                required:
                - status
                - type
                type: object
              type: array
            currentNumberScheduled:
              description: 'The number of nodes that are running at least 1 daemon
                pod and are supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
              format: int32
              type: integer
            daemonSetHash:
              description: DaemonSetHash is the controller-revision-hash, which represents
                the latest version of the DaemonSet.
              type: string
            desiredNumberScheduled:
              description: 'The total number of nodes that should be running the daemon
                pod (including nodes correctly running the daemon pod). More info:
                https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
              format: int32
              type: integer
            numberAvailable:
              description: The number of nodes that should be running the daemon pod
                and have one or more of the daemon pod running and available (ready
                for at least spec.minReadySeconds)
              format: int32
              type: integer
            numberMisscheduled:
              description: 'The number of nodes that are running the daemon pod, but
                are not supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
              format: int32
              type: integer
            numberReady:
              description: The number of nodes that should be running the daemon pod
                and have one or more of the daemon pod running and ready.
              format: int32
              type: integer
            numberUnavailable:
              description: The number of nodes that should be running the daemon pod
                and have none of the daemon pod running and available (ready for at
                least spec.minReadySeconds)
              format: int32
              type: integer
            observedGeneration:
              description: The most recent generation observed by the daemon set controller.
              format: int64
              type: integer
            updatedNumberScheduled:
              description: The total number of nodes that are running updated daemon
                pod
              format: int32
              type: integer
          required:
          - currentNumberScheduled
          - daemonSetHash
          - desiredNumberScheduled
          - numberMisscheduled
          - numberReady
          - updatedNumberScheduled
          type: object
      type: object
  version: v1alpha1
  versions:
  - name: v1alpha1
    served: true
    storage: true
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
{{- end }}
