--- 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: []