
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.4.1
  creationTimestamp: null
  name: batchreleases.apps.rollouts.io
spec:
  group: apps.rollouts.io
  names:
    kind: BatchRelease
    listKind: BatchReleaseList
    plural: batchreleases
    singular: batchrelease
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .spec.targetReference.kind
      name: KIND
      type: string
    - jsonPath: .status.phase
      name: PHASE
      type: string
    - jsonPath: .status.canaryStatus.currentBatch
      name: BATCH
      type: integer
    - jsonPath: .status.canaryStatus.batchState
      name: BATCH-STATE
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: AGE
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        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: BatchReleaseSpec defines how to describe a batch release
              plan.
            properties:
              cancelled:
                description: Cancelled is true indicates this batch release plan is
                  cancelled. All resources about canary will be cleaned up.
                type: boolean
              releasePlan:
                description: ReleasePlan is the details on how to release the updated
                  revision.
                properties:
                  batchPartition:
                    description: All pods in the batches up to the batchPartition
                      (included) will have the target updated specification while
                      the rest still have the stable resource This is designed for
                      the operators to manually release plan Default is nil, which
                      means no partition.
                    format: int32
                    type: integer
                  batches:
                    description: Batches describe the plan for each batch in detail,
                      including canary replicas and paused seconds.
                    items:
                      description: ReleaseBatch is used to describe how each release
                        batch should be
                      properties:
                        canaryReplicas:
                          anyOf:
                          - type: integer
                          - type: string
                          description: 'Replicas is the number of expected canary
                            pods in this batch it can be an absolute number (ex: 5)
                            or a percentage of total pods. it is mutually exclusive
                            with the PodList field'
                          x-kubernetes-int-or-string: true
                        pauseSeconds:
                          description: The wait time, in seconds, between instances
                            upgrades, default = 0
                          format: int64
                          type: integer
                      required:
                      - canaryReplicas
                      type: object
                    type: array
                  paused:
                    description: Paused the release plan executor, default is false
                    type: boolean
                required:
                - batches
                type: object
              targetReference:
                description: TargetRef contains the name of the workload that we need
                  to upgrade to.
                properties:
                  apiVersion:
                    description: API Version of the referent
                    type: string
                  kind:
                    description: Kind of the referent
                    type: string
                  name:
                    description: Name of the referent
                    type: string
                required:
                - apiVersion
                - kind
                - name
                type: object
            required:
            - releasePlan
            - targetReference
            type: object
          status:
            description: BatchReleaseStatus defines the observed state of a rollout
              plan
            properties:
              canaryStatus:
                description: Canary describes the status of the canary
                properties:
                  currentBatch:
                    description: The current batch the rollout is working on/blocked,
                      it starts from 0
                    format: int32
                    type: integer
                  lastBatchReadyTime:
                    description: LastBatchFinalizedTime is the timestamp of
                    format: date-time
                    type: string
                  state:
                    description: State indicates the state of the current batch.
                    type: string
                  updatedReadyReplicas:
                    description: UpgradedReadyReplicas is the number of Pods upgraded
                      by the rollout controller that have a Ready Condition.
                    format: int32
                    type: integer
                  updatedReplicas:
                    description: UpgradedReplicas is the number of Pods upgraded by
                      the rollout controller
                    format: int32
                    type: integer
                required:
                - currentBatch
                type: object
              conditions:
                description: Conditions records some important message at each Phase.
                items:
                  description: RolloutCondition describes the state of a rollout at
                    a certain point.
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      format: date-time
                      type: string
                    lastUpdateTime:
                      description: The last time this condition was updated.
                      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: Phase of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type of deployment condition.
                      type: string
                  required:
                  - message
                  - reason
                  - status
                  - type
                  type: object
                type: array
              observedGeneration:
                description: observedGeneration is the most recent generation observed
                  for this SidecarSet. It corresponds to the SidecarSet's generation,
                  which is updated on mutation by the API Server.
                format: int64
                type: integer
              observedReleasePlanHash:
                description: ObservedReleasePlanHash is a hash code of observed itself
                  releasePlan.Batches.
                type: string
              observedWorkloadReplicas:
                description: ObservedWorkloadReplicas is the size of the target resources.
                  This is determined once the initial spec verification and does not
                  change until the rollout is restarted.
                format: int32
                type: integer
              phase:
                description: Phase is the release phase. Clients should only rely
                  on the value if status.observedGeneration equals metadata.generation
                type: string
              stableRevision:
                description: StableRevision is the pod-template-hash of stable revision
                  pod.
                type: string
              updateRevision:
                description: UpdateRevision is the pod-template-hash of updated revision
                  pod.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
