256 lines
11 KiB
YAML
256 lines
11 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.4.1
|
|
creationTimestamp: null
|
|
name: rollouts.rollouts.kruise.io
|
|
spec:
|
|
group: rollouts.kruise.io
|
|
names:
|
|
kind: Rollout
|
|
listKind: RolloutList
|
|
plural: rollouts
|
|
singular: rollout
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Rollout is the Schema for the rollouts 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: RolloutSpec defines the desired state of Rollout
|
|
properties:
|
|
objectRef:
|
|
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
|
|
strategy:
|
|
description: The deployment strategy to use to replace existing pods
|
|
with new ones.
|
|
properties:
|
|
canaryPlan:
|
|
description: CanaryStrategy defines parameters for a Replica Based
|
|
Canary
|
|
properties:
|
|
steps:
|
|
description: Steps define the order of phases to execute the
|
|
canary deployment
|
|
items:
|
|
description: CanaryStep defines a step of a canary workload.
|
|
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
|
|
pause:
|
|
description: Pause freezes the rollout by setting spec.Paused
|
|
to true. A Rollout will resume when spec.Paused is
|
|
reset to false.
|
|
properties:
|
|
duration:
|
|
description: Duration the amount of time to wait
|
|
before moving to the next step.
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
weight:
|
|
description: SetWeight sets what percentage of the canary
|
|
pods should receive
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
type: array
|
|
trafficRouting:
|
|
description: TrafficRouting hosts all the supported service
|
|
meshes supported to enable more fine-grained traffic routing
|
|
properties:
|
|
nginx:
|
|
description: Nginx holds Nginx Ingress specific configuration
|
|
to route traffic
|
|
properties:
|
|
ingress:
|
|
description: Ingress refers to the name of an `Ingress`
|
|
resource in the same namespace as the `Rollout`
|
|
type: string
|
|
required:
|
|
- ingress
|
|
type: object
|
|
service:
|
|
description: Service holds the name of a service which
|
|
selects pods with stable version and don't select any
|
|
pods with canary version.
|
|
type: string
|
|
type:
|
|
description: Nginx, Alb, Istio etc.
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
type: object
|
|
paused:
|
|
description: Paused indicates that the Rollout is paused. Default
|
|
value is false
|
|
type: boolean
|
|
type:
|
|
description: canaryPlan, BlueGreenPlan Default value is canaryPlan
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
required:
|
|
- objectRef
|
|
- strategy
|
|
type: object
|
|
status:
|
|
description: RolloutStatus defines the observed state of Rollout
|
|
properties:
|
|
canaryRevision:
|
|
description: CanaryRevision the hash of the canary pod template
|
|
type: string
|
|
canaryStatus:
|
|
description: Canary describes the state of the canary rollout
|
|
properties:
|
|
canaryReadyReplicas:
|
|
format: int32
|
|
type: integer
|
|
canaryReplicas:
|
|
description: CanaryReplicas the numbers of canary revision pods
|
|
format: int32
|
|
type: integer
|
|
canaryRevision:
|
|
description: CanaryRevision the hash of the current pod template
|
|
type: string
|
|
canaryService:
|
|
description: CanaryService holds the name of a service which selects
|
|
pods with canary version and don't select any pods with stable
|
|
version.
|
|
type: string
|
|
currentStepIndex:
|
|
description: CurrentStepIndex defines the current step of the
|
|
rollout is on. If the current step index is null, the controller
|
|
will execute the rollout.
|
|
format: int32
|
|
type: integer
|
|
currentStepState:
|
|
type: string
|
|
lastReadyTime:
|
|
description: The last time this step pods is ready.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
type: string
|
|
required:
|
|
- canaryReadyReplicas
|
|
- canaryReplicas
|
|
- canaryService
|
|
- currentStepState
|
|
type: object
|
|
conditions:
|
|
description: Conditions a list of conditions a rollout can have.
|
|
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
|
|
message:
|
|
description: Message provides details on why the rollout is in its
|
|
current phase
|
|
type: string
|
|
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
|
|
phase:
|
|
description: Phase is the rollout phase. Clients should only rely
|
|
on the value if status.observedGeneration equals metadata.generation
|
|
type: string
|
|
stableRevision:
|
|
description: StableRevision indicates the revision pods that has successfully
|
|
rolled out
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|