github.com/oam-dev/kubevela@v1.9.11/pkg/rollout/testdata/rollouts.yaml (about) 1 apiVersion: apiextensions.k8s.io/v1 2 kind: CustomResourceDefinition 3 metadata: 4 annotations: 5 controller-gen.kubebuilder.io/version: v0.7.0 6 creationTimestamp: null 7 name: rollouts.rollouts.kruise.io 8 spec: 9 group: rollouts.kruise.io 10 names: 11 kind: Rollout 12 listKind: RolloutList 13 plural: rollouts 14 singular: rollout 15 scope: Namespaced 16 versions: 17 - additionalPrinterColumns: 18 - description: The rollout status phase 19 jsonPath: .status.phase 20 name: STATUS 21 type: string 22 - description: The rollout canary status step 23 jsonPath: .status.canaryStatus.currentStepIndex 24 name: CANARY_STEP 25 type: integer 26 - description: The rollout canary status step state 27 jsonPath: .status.canaryStatus.currentStepState 28 name: CANARY_STATE 29 type: string 30 - description: The rollout canary status message 31 jsonPath: .status.message 32 name: MESSAGE 33 type: string 34 - jsonPath: .metadata.creationTimestamp 35 name: AGE 36 type: date 37 name: v1alpha1 38 schema: 39 openAPIV3Schema: 40 description: Rollout is the Schema for the rollouts API 41 properties: 42 apiVersion: 43 description: 'APIVersion defines the versioned schema of this representation 44 of an object. Servers should convert recognized schemas to the latest 45 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 46 type: string 47 kind: 48 description: 'Kind is a string value representing the REST resource this 49 object represents. Servers may infer this from the endpoint the client 50 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 51 type: string 52 metadata: 53 type: object 54 spec: 55 description: RolloutSpec defines the desired state of Rollout 56 properties: 57 objectRef: 58 description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster 59 Important: Run "make" to regenerate code after modifying this file 60 ObjectRef indicates workload' 61 properties: 62 workloadRef: 63 description: WorkloadRef contains enough information to let you 64 identify a workload for Rollout Batch release of the bypass 65 properties: 66 apiVersion: 67 description: API Version of the referent 68 type: string 69 kind: 70 description: Kind of the referent 71 type: string 72 name: 73 description: Name of the referent 74 type: string 75 required: 76 - apiVersion 77 - kind 78 - name 79 type: object 80 type: object 81 strategy: 82 description: rollout strategy 83 properties: 84 canary: 85 description: CanaryStrategy defines parameters for a Replica Based 86 Canary 87 properties: 88 steps: 89 description: Steps define the order of phases to execute release 90 in batches(20%, 40%, 60%, 80%, 100%) 91 items: 92 description: CanaryStep defines a step of a canary workload. 93 properties: 94 pause: 95 description: Pause defines a pause stage for a rollout, 96 manual or auto 97 properties: 98 duration: 99 description: Duration the amount of time to wait 100 before moving to the next step. 101 format: int32 102 type: integer 103 type: object 104 replicas: 105 anyOf: 106 - type: integer 107 - type: string 108 description: 'Replicas is the number of expected canary 109 pods in this batch it can be an absolute number (ex: 110 5) or a percentage of total pods.' 111 x-kubernetes-int-or-string: true 112 weight: 113 description: SetWeight sets what percentage of the canary 114 pods should receive 115 format: int32 116 type: integer 117 type: object 118 type: array 119 trafficRoutings: 120 description: TrafficRoutings hosts all the supported service 121 meshes supported to enable more fine-grained traffic routing 122 todo current only support one 123 items: 124 description: TrafficRouting hosts all the different configuration 125 for supported service meshes to enable more fine-grained 126 traffic routing 127 properties: 128 gracePeriodSeconds: 129 description: Optional duration in seconds the traffic 130 provider(e.g. nginx ingress controller) consumes the 131 service, ingress configuration changes gracefully. 132 format: int32 133 type: integer 134 ingress: 135 description: Ingress holds Ingress specific configuration 136 to route traffic, e.g. Nginx, Alb. 137 properties: 138 name: 139 description: Name refers to the name of an `Ingress` 140 resource in the same namespace as the `Rollout` 141 type: string 142 required: 143 - name 144 type: object 145 service: 146 description: Service holds the name of a service which 147 selects pods with stable version and don't select 148 any pods with canary version. 149 type: string 150 type: 151 description: nginx, alb, istio etc. 152 type: string 153 required: 154 - service 155 - type 156 type: object 157 type: array 158 type: object 159 paused: 160 description: Paused indicates that the Rollout is paused. Default 161 value is false 162 type: boolean 163 type: object 164 required: 165 - objectRef 166 - strategy 167 type: object 168 status: 169 description: RolloutStatus defines the observed state of Rollout 170 properties: 171 canaryStatus: 172 description: Canary describes the state of the canary rollout 173 properties: 174 canaryReadyReplicas: 175 description: CanaryReadyReplicas the numbers of ready canary revision 176 pods 177 format: int32 178 type: integer 179 canaryReplicas: 180 description: CanaryReplicas the numbers of canary revision pods 181 format: int32 182 type: integer 183 canaryRevision: 184 description: CanaryRevision is calculated by rollout based on 185 podTemplateHash, and the internal logic flow uses It may be 186 different from rs podTemplateHash in different k8s versions, 187 so it cannot be used as service selector label 188 type: string 189 canaryService: 190 description: CanaryService holds the name of a service which selects 191 pods with canary version and don't select any pods with stable 192 version. 193 type: string 194 currentStepIndex: 195 description: CurrentStepIndex defines the current step of the 196 rollout is on. If the current step index is null, the controller 197 will execute the rollout. 198 format: int32 199 type: integer 200 currentStepState: 201 type: string 202 lastReadyTime: 203 description: The last time this step pods is ready. 204 format: date-time 205 type: string 206 message: 207 type: string 208 observedWorkloadGeneration: 209 description: observedWorkloadGeneration is the most recent generation 210 observed for this Rollout ref workload generation. 211 format: int64 212 type: integer 213 podTemplateHash: 214 description: pod template hash is used as service selector label 215 type: string 216 rolloutHash: 217 description: RolloutHash from rollout.spec object 218 type: string 219 required: 220 - canaryReadyReplicas 221 - canaryReplicas 222 - canaryService 223 - currentStepState 224 - podTemplateHash 225 type: object 226 conditions: 227 description: Conditions a list of conditions a rollout can have. 228 items: 229 description: RolloutCondition describes the state of a rollout at 230 a certain point. 231 properties: 232 lastTransitionTime: 233 description: Last time the condition transitioned from one status 234 to another. 235 format: date-time 236 type: string 237 lastUpdateTime: 238 description: The last time this condition was updated. 239 format: date-time 240 type: string 241 message: 242 description: A human readable message indicating details about 243 the transition. 244 type: string 245 reason: 246 description: The reason for the condition's last transition. 247 type: string 248 status: 249 description: Phase of the condition, one of True, False, Unknown. 250 type: string 251 type: 252 description: Type of rollout condition. 253 type: string 254 required: 255 - message 256 - reason 257 - status 258 - type 259 type: object 260 type: array 261 message: 262 description: Message provides details on why the rollout is in its 263 current phase 264 type: string 265 observedGeneration: 266 description: observedGeneration is the most recent generation observed 267 for this Rollout. 268 format: int64 269 type: integer 270 phase: 271 description: BlueGreenStatus *BlueGreenStatus `json:"blueGreenStatus,omitempty"` 272 Phase is the rollout phase. 273 type: string 274 stableRevision: 275 description: CanaryRevision the hash of the canary pod template CanaryRevision 276 string `json:"canaryRevision,omitempty"` StableRevision indicates 277 the revision pods that has successfully rolled out 278 type: string 279 type: object 280 type: object 281 served: true 282 storage: true 283 subresources: 284 status: {} 285 status: 286 acceptedNames: 287 kind: "" 288 plural: "" 289 conditions: [] 290 storedVersions: []