--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.7.0 creationTimestamp: null name: rollouts.rollouts.kruise.io spec: group: rollouts.kruise.io names: kind: Rollout listKind: RolloutList plural: rollouts singular: rollout scope: Namespaced versions: - additionalPrinterColumns: - description: The rollout status phase jsonPath: .status.phase name: STATUS type: string - description: The rollout canary status step jsonPath: .status.canaryStatus.currentStepIndex name: CANARY_STEP type: integer - description: The rollout canary status step state jsonPath: .status.canaryStatus.currentStepState name: CANARY_STATE type: string - description: The rollout canary status message jsonPath: .status.message name: MESSAGE type: string 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: description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster Important: Run "make" to regenerate code after modifying this file ObjectRef indicates workload' 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 type: object strategy: description: rollout strategy properties: canary: description: CanaryStrategy defines parameters for a Replica Based Canary properties: steps: description: Steps define the order of phases to execute release in batches(20%, 40%, 60%, 80%, 100%) items: description: CanaryStep defines a step of a canary workload. properties: pause: description: Pause defines a pause stage for a rollout, manual or auto properties: duration: description: Duration the amount of time to wait before moving to the next step. format: int32 type: integer type: object replicas: 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.' x-kubernetes-int-or-string: true 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: gracePeriodSeconds: description: Optional duration in seconds the traffic provider(e.g. nginx ingress controller) consumes the service, ingress configuration changes gracefully. format: int32 type: integer 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: canary, BlueGreenPlan Default value is canary type: string 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: description: CanaryReadyReplicas the numbers of ready canary revision pods 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 observedWorkloadGeneration: description: observedWorkloadGeneration is the most recent generation observed for this Rollout ref workload generation. format: int64 type: integer 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 rollout 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 Rollout. format: int64 type: integer phase: description: BlueGreenStatus *BlueGreenStatus `json:"blueGreenStatus,omitempty"` Phase is the rollout phase. 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: []