rollouts/config/crd/bases/apps.rollouts.io_rollouts.yaml

265 lines
12 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: rollouts.apps.rollouts.io
spec:
group: apps.rollouts.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:
strategy:
description: The deployment strategy to use to replace existing pods
with new ones.
properties:
canary:
description: BlueGreen *BlueGreenStrategy `json:"blueGreen,omitempty"
protobuf:"bytes,1,opt,name=blueGreen"`
properties:
stableService:
description: CanaryService holds the name of a service which
selects pods with canary version and don't select any pods
with stable version. CanaryService string `json:"canaryService,omitempty"`
StableService holds the name of a service which selects
pods with stable version and don't select any pods with
canary version.
type: string
steps:
description: Steps define the order of phases to execute the
canary deployment
items:
description: CanaryStep defines a step of a canary workload.
properties:
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
setWeight:
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:
alb:
description: AlbTrafficRouting configuration for Nginx
ingress controller to control traffic routing
properties:
ingress:
description: Ingress refers to the name of an `Ingress`
resource in the same namespace as the `Rollout`
type: string
tickets:
description: A/B Testing
properties:
cookie:
additionalProperties:
type: string
type: object
header:
additionalProperties:
type: string
type: object
type: object
required:
- ingress
type: object
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
tickets:
description: A/B Testing
properties:
cookie:
additionalProperties:
type: string
type: object
header:
additionalProperties:
type: string
type: object
type: object
required:
- ingress
type: object
type:
type: string
type: object
type: object
type: object
targetRef:
description: TargetRef contains enough information to let you identify
a workload for Rollout
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:
- strategy
- targetRef
type: object
status:
description: RolloutStatus defines the observed state of Rollout
properties:
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
updateRevision:
description: UpdateRevision the hash of the current pod template
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []