255 lines
11 KiB
YAML
255 lines
11 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.4.1
|
|
creationTimestamp: null
|
|
name: batchreleases.rollouts.kruise.io
|
|
spec:
|
|
group: rollouts.kruise.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 an update between
|
|
different compRevision
|
|
properties:
|
|
cancelled:
|
|
description: Cancel is true indicates this batch release plan is cancelled.
|
|
type: boolean
|
|
releasePlan:
|
|
description: RolloutPlan is the details on how to rollout the resources
|
|
properties:
|
|
batchPartition:
|
|
description: All pods in the batches up to the batchPartition
|
|
(included) will have the target resource specification while
|
|
the rest still have the source resource This is designed for
|
|
the operators to manually rollout Default is the the number
|
|
of batches which will rollout all the batches
|
|
format: int32
|
|
type: integer
|
|
batches:
|
|
description: The exact distribution among batches. its size has
|
|
to be exactly the same as the NumBatches (if set) The total
|
|
number cannot exceed the targetSize or the size of the source
|
|
resource We will IGNORE the last batch's replica field if it's
|
|
a percentage since round errors can lead to inaccurate sum We
|
|
highly recommend to leave the last batch's replica field empty
|
|
items:
|
|
description: ReleaseBatch is used to describe how the each batch
|
|
rollout should be
|
|
properties:
|
|
canaryReplicas:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: 'Replicas is the number of pods to upgrade
|
|
in this batch it can be an absolute number (ex: 5) or
|
|
a percentage of total pods we will ignore the percentage
|
|
of the last batch to just fill the gap 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
|
|
type: object
|
|
type: array
|
|
paused:
|
|
description: Paused the rollout, default is false
|
|
type: boolean
|
|
type: object
|
|
strategy:
|
|
properties:
|
|
cloneSetStrategy:
|
|
type: string
|
|
deploymentStrategy:
|
|
type: string
|
|
type: object
|
|
targetReference:
|
|
description: TargetRevisionName contains the name of the componentRevisionName
|
|
that we need to upgrade to.
|
|
properties:
|
|
type:
|
|
description: workloadRef, revisionRef default is workloadRef
|
|
type: string
|
|
workloadRef:
|
|
description: WorkloadRef contains enough information to let you
|
|
identify a workload for Rollout Batch release of the bypass
|
|
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:
|
|
- type
|
|
type: object
|
|
required:
|
|
- releasePlan
|
|
- targetReference
|
|
type: object
|
|
status:
|
|
description: BatchReleaseStatus defines the observed state of a rollout
|
|
plan
|
|
properties:
|
|
canaryStatus:
|
|
description: Canary describes the state of the canary rollout
|
|
properties:
|
|
batchState:
|
|
description: ReleasingBatchState indicates the state of the current
|
|
batch.
|
|
type: string
|
|
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
|
|
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
|
|
collisionCount:
|
|
description: Count of hash collisions for creating canary Deployment.
|
|
The controller uses this field as a collision avoidance mechanism
|
|
when it needs to create the name for the newest canary Deployment.
|
|
format: int32
|
|
type: integer
|
|
conditions:
|
|
description: Conditions represents the latest available observations
|
|
of a CloneSet's current state.
|
|
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: []
|