github.com/oam-dev/kubevela@v1.9.11/pkg/workflow/operation/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: []