mirror of https://github.com/openkruise/charts.git
266 lines
12 KiB
YAML
266 lines
12 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.7.0
|
|
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.workloadRef.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:
|
|
releasePlan:
|
|
description: ReleasePlan 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 is the stable revision. This is designed for
|
|
the operators to manually rollout. Default is nil, which means
|
|
no partition and will release all batches. BatchPartition start
|
|
from 0.
|
|
format: int32
|
|
type: integer
|
|
batches:
|
|
description: 'Batches is the details on each batch of the ReleasePlan.
|
|
Users can specify their batch plan in this field, such as: batches:
|
|
- canaryReplicas: 1 # batches 0 - canaryReplicas: 2 # batches
|
|
1 - canaryReplicas: 5 # batches 2 Not that these canaryReplicas
|
|
should be a non-decreasing sequence.'
|
|
items:
|
|
description: ReleaseBatch is used to describe how each batch
|
|
release should be
|
|
properties:
|
|
canaryReplicas:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: 'CanaryReplicas is the number of upgraded pods
|
|
that should have in this batch. it can be an absolute
|
|
number (ex: 5) or a percentage of workload replicas. batches[i].canaryReplicas
|
|
should less than or equal to batches[j].canaryReplicas
|
|
if i < j.'
|
|
x-kubernetes-int-or-string: true
|
|
required:
|
|
- canaryReplicas
|
|
type: object
|
|
type: array
|
|
failureThreshold:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: FailureThreshold indicates how many failed pods can
|
|
be tolerated in all upgraded pods. Only when FailureThreshold
|
|
are satisfied, Rollout can enter ready state. If FailureThreshold
|
|
is nil, Rollout will use the MaxUnavailable of workload as its
|
|
FailureThreshold. Defaults to nil.
|
|
x-kubernetes-int-or-string: true
|
|
finalizingPolicy:
|
|
description: FinalizingPolicy define the behavior of controller
|
|
when phase enter Finalizing Defaults to "Immediate"
|
|
type: string
|
|
rolloutID:
|
|
description: RolloutID indicates an id for each rollout progress
|
|
type: string
|
|
type: object
|
|
targetReference:
|
|
description: TargetRef contains the GVK and name of the workload that
|
|
we need to upgrade to.
|
|
properties:
|
|
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
|
|
type: object
|
|
required:
|
|
- releasePlan
|
|
- targetReference
|
|
type: object
|
|
status:
|
|
description: BatchReleaseStatus defines the observed state of a release
|
|
plan
|
|
properties:
|
|
canaryStatus:
|
|
description: CanaryStatus describes the state of the canary rollout.
|
|
properties:
|
|
batchReadyTime:
|
|
description: BatchReadyTime is the ready timestamp of the current
|
|
batch or the last batch. This field is updated once a batch
|
|
ready, and the batches[x].pausedSeconds relies on this field
|
|
to calculate the real-time duration.
|
|
format: date-time
|
|
type: string
|
|
batchState:
|
|
description: CurrentBatchState indicates the release 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
|
|
noNeedUpdateReplicas:
|
|
description: the number of pods that no need to rollback in rollback
|
|
scene.
|
|
format: int32
|
|
type: integer
|
|
updatedReadyReplicas:
|
|
description: UpdatedReadyReplicas is the number upgraded Pods
|
|
that have a Ready Condition.
|
|
format: int32
|
|
type: integer
|
|
updatedReplicas:
|
|
description: UpdatedReplicas is the number of upgraded Pods.
|
|
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 observed process state of each
|
|
phase during executing the release plan.
|
|
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 rollout condition.
|
|
type: string
|
|
required:
|
|
- message
|
|
- reason
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
observedGeneration:
|
|
description: ObservedGeneration is the most recent generation observed
|
|
for this BatchRelease. It corresponds to this BatchRelease's generation,
|
|
which is updated on mutation by the API Server, and only if BatchRelease
|
|
Spec was changed, its generation will increase 1.
|
|
format: int64
|
|
type: integer
|
|
observedReleasePlanHash:
|
|
description: ObservedReleasePlanHash is a hash code of observed itself
|
|
spec.releasePlan.
|
|
type: string
|
|
observedRolloutID:
|
|
description: ObservedRolloutID is the most recent rollout-id observed
|
|
for this BatchRelease. If RolloutID was changed, we will restart
|
|
to roll out from batch 0, to ensure the batch-id and rollout-id
|
|
labels of Pods are correct.
|
|
type: string
|
|
observedWorkloadReplicas:
|
|
description: ObservedWorkloadReplicas is observed replicas of target
|
|
referenced workload. This field is designed to deal with scaling
|
|
event during rollout, if this field changed, it means that the workload
|
|
is scaling during rollout.
|
|
format: int32
|
|
type: integer
|
|
phase:
|
|
description: Phase is the release plan phase, which indicates the
|
|
current state of release plan state machine in BatchRelease controller.
|
|
type: string
|
|
stableRevision:
|
|
description: StableRevision is the pod-template-hash of stable revision
|
|
pod template.
|
|
type: string
|
|
updateRevision:
|
|
description: UpdateRevision is the pod-template-hash of update revision
|
|
pod template.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|