CloudDeployDeliveryPipeline
| Property | Value |
|---|---|
| Google Cloud Service Name | Cloud Deploy |
| Google Cloud Service Documentation | /deploy/docs/ |
| Google Cloud REST Resource Name | projects.locations.deliveryPipelines |
| Google Cloud REST Resource Documentation | /deploy/docs/api/reference/rest/v1/projects.locations.deliveryPipelines |
| Config Connector Resource Short Names | gcpdeploydeliverypipeline gcpdeploydeliverypipelines clouddeploydeliverypipeline |
| Config Connector Service Name | clouddeploy.googleapis.com |
| Config Connector Resource Fully Qualified Name | clouddeploydeliverypipelines.clouddeploy.cnrm.cloud.google.com |
| Can Be Referenced by IAMPolicy/IAMPolicyMember | No |
| Config Connector Default Average Reconcile Interval In Seconds | 600 |
Custom Resource Definition Properties
Spec
Schema
annotations:
string: string
description: string
location: string
projectRef:
external: string
kind: string
name: string
namespace: string
resourceID: string
serialPipeline:
stages:
- deployParameters:
- matchTargetLabels:
string: string
values:
string: string
profiles:
- string
strategy:
canary:
canaryDeployment:
percentages:
- integer
postdeploy:
actions:
- string
predeploy:
actions:
- string
verify: boolean
customCanaryDeployment:
phaseConfigs:
- percentage: integer
phaseID: string
postdeploy:
actions:
- string
predeploy:
actions:
- string
profiles:
- string
verify: boolean
runtimeConfig:
cloudRun:
automaticTrafficControl: boolean
canaryRevisionTags:
- string
priorRevisionTags:
- string
stableRevisionTags:
- string
kubernetes:
gatewayServiceMesh:
deployment: string
httpRoute: string
podSelectorLabel: string
routeDestinations:
destinationIDs:
- string
propagateService: boolean
routeUpdateWaitTime: string
service: string
stableCutbackDuration: string
serviceNetworking:
deployment: string
disablePodOverprovisioning: boolean
podSelectorLabel: string
service: string
standard:
postdeploy:
actions:
- string
predeploy:
actions:
- string
verify: boolean
targetID: string
suspended: boolean
| Fields | |
|---|---|
|
Optional |
User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. |
|
Optional |
Description of the `DeliveryPipeline`. Max length is 255 characters. |
|
Required |
Immutable. The location where the DeliveryPipeline should reside. |
|
Required |
The Project that this resource belongs to. |
|
Optional |
The `projectID` field of a project, when not managed by Config Connector. |
|
Optional |
The kind of the Project resource; optional but must be `Project` if provided. |
|
Optional |
The `name` field of a `Project` resource. |
|
Optional |
The `namespace` field of a `Project` resource. |
|
Optional |
The Google Cloud resource identifier. If not given, the metadata.name will be used. |
|
Optional |
SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`. |
|
Optional |
Optional. Each stage specifies configuration for a `Target`. The ordering of this list defines the promotion flow. |
|
Optional |
|
|
Optional |
Optional. The deploy parameters to use for the target in this stage. |
|
Optional |
|
|
Optional |
Optional. Deploy parameters are applied to targets with match labels. If unspecified, deploy parameters are applied to all targets (including child targets of a multi-target). |
|
Optional |
Required. Values are deploy parameters in key-value pairs. |
|
Optional |
Optional. Skaffold profiles to use when rendering the manifest for this stage's `Target`. |
|
Optional |
|
|
Optional |
Optional. The strategy to use for a `Rollout` to this stage. |
|
Optional |
Optional. Canary deployment strategy provides progressive percentage based deployments to a Target. |
|
Optional |
Optional. Configures the progressive based deployment for a Target. |
|
Optional |
Required. The percentage-based deployments to occur in a Rollout. Provide a list of integers in ascending order. Each integer n must satisfy 0 <= n < 100. However, if gatewayServiceMesh is configured for Kubernetes, the range for n is 0 <= n <= 100. |
|
Optional |
|
|
Optional |
Optional. Configuration for the postdeploy job of the last phase. If this is not configured, there will be no postdeploy job for this phase. |
|
Optional |
Optional. A sequence of Skaffold custom actions to invoke during execution of the postdeploy job. |
|
Optional |
|
|
Optional |
Optional. Configuration for the predeploy job of the first phase. If this is not configured, there will be no predeploy job for this phase. |
|
Optional |
Optional. A sequence of Skaffold custom actions to invoke during execution of the predeploy job. |
|
Optional |
|
|
Optional |
Optional. Whether to run verify tests after each percentage deployment via `skaffold verify`. |
|
Optional |
Optional. Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments. |
|
Optional |
Required. Configuration for each phase in the canary deployment in the order executed. |
|
Optional |
|
|
Optional |
Required. Percentage deployment for the phase. |
|
Optional |
Required. The ID to assign to the `Rollout` phase. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. |
|
Optional |
Optional. Configuration for the postdeploy job of this phase. If this is not configured, there will be no postdeploy job for this phase. |
|
Optional |
Optional. A sequence of Skaffold custom actions to invoke during execution of the postdeploy job. |
|
Optional |
|
|
Optional |
Optional. Configuration for the predeploy job of this phase. If this is not configured, there will be no predeploy job for this phase. |
|
Optional |
Optional. A sequence of Skaffold custom actions to invoke during execution of the predeploy job. |
|
Optional |
|
|
Optional |
Optional. Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the `DeliveryPipeline` stage. |
|
Optional |
|
|
Optional |
Optional. Whether to run verify tests after the deployment via `skaffold verify`. |
|
Optional |
Optional. Runtime specific configurations for the deployment strategy. The runtime configuration is used to determine how Cloud Deploy will split traffic to enable a progressive deployment. |
|
Optional |
Optional. Cloud Run runtime configuration. |
|
Optional |
Optional. Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments. |
|
Optional |
Optional. A list of tags that are added to the canary revision while the canary phase is in progress. |
|
Optional |
|
|
Optional |
Optional. A list of tags that are added to the prior revision while the canary phase is in progress. |
|
Optional |
|
|
Optional |
Optional. A list of tags that are added to the final stable revision when the stable phase is applied. |
|
Optional |
|
|
Optional |
Optional. Kubernetes runtime configuration. |
|
Optional |
Optional. Kubernetes Gateway API service mesh configuration. |
|
Optional |
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service. |
|
Optional |
Required. Name of the Gateway API HTTPRoute. |
|
Optional |
Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources. |
|
Optional |
Optional. Route destinations allow configuring the Gateway API HTTPRoute to be deployed to additional clusters. This option is available for multi-cluster service mesh set ups that require the route to exist in the clusters that call the service. If unspecified, the HTTPRoute will only be deployed to the Target cluster. |
|
Optional |
Required. The clusters where the Gateway API HTTPRoute resource will be deployed to. Valid entries include the associated entities IDs configured in the Target resource and "@self" to include the Target cluster. |
|
Optional |
|
|
Optional |
Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified. |
|
Optional |
Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time. |
|
Optional |
Required. Name of the Kubernetes Service. |
|
Optional |
Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time. |
|
Optional |
Optional. Kubernetes Service networking configuration. |
|
Optional |
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service. |
|
Optional |
Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster. |
|
Optional |
Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment. |
|
Optional |
Required. Name of the Kubernetes Service. |
|
Optional |
Optional. Standard deployment strategy executes a single deploy and allows verifying the deployment. |
|
Optional |
Optional. Configuration for the postdeploy job. If this is not configured, the postdeploy job will not be present. |
|
Optional |
Optional. A sequence of Skaffold custom actions to invoke during execution of the postdeploy job. |
|
Optional |
|
|
Optional |
Optional. Configuration for the predeploy job. If this is not configured, the predeploy job will not be present. |
|
Optional |
Optional. A sequence of Skaffold custom actions to invoke during execution of the predeploy job. |
|
Optional |
|
|
Optional |
Optional. Whether to verify a deployment via `skaffold verify`. |
|
Optional |
Optional. The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be `my-target` (rather than `projects/project/locations/location/targets/my-target`). The location of the `Target` is inferred to be the same as the location of the `DeliveryPipeline` that contains this `Stage`. |
|
Optional |
When suspended, no new releases or rollouts can be created, but in-progress ones will complete. |
Status
Schema
conditions:
- lastTransitionTime: string
message: string
reason: string
status: string
type: string
externalRef: string
observedGeneration: integer
observedState:
condition:
pipelineReadyCondition:
status: boolean
updateTime: string
targetsPresentCondition:
missingTargets:
- string
status: boolean
updateTime: string
targetsTypeCondition:
errorDetails: string
status: boolean
createTime: string
uid: string
updateTime: string
| Fields | |
|---|---|
conditions |
Conditions represent the latest available observations of the object's current state. |
conditions[] |
|
conditions[].lastTransitionTime |
Last time the condition transitioned from one status to another. |
conditions[].message |
Human-readable message indicating details about last transition. |
conditions[].reason |
Unique, one-word, CamelCase reason for the condition's last transition. |
conditions[].status |
Status is the status of the condition. Can be True, False, Unknown. |
conditions[].type |
Type is the type of the condition. |
externalRef |
A unique specifier for the DeployDeliveryPipeline resource in Google Cloud. |
observedGeneration |
ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. |
observedState |
ObservedState is the state of the resource as most recently observed in Google Cloud. |
observedState.condition |
Output only. Information around the state of the Delivery Pipeline. |
observedState.condition.pipelineReadyCondition |
Details around the Pipeline's overall status. |
observedState.condition.pipelineReadyCondition.status |
True if the Pipeline is in a valid state. Otherwise at least one condition in `PipelineCondition` is in an invalid state. Iterate over those conditions and see which condition(s) has status = false to find out what is wrong with the Pipeline. |
observedState.condition.pipelineReadyCondition.updateTime |
Last time the condition was updated. |
observedState.condition.targetsPresentCondition |
Details around targets enumerated in the pipeline. |
observedState.condition.targetsPresentCondition.missingTargets |
The list of Target names that do not exist. For example, `projects/{project_id}/locations/{location_name}/targets/{target_name}`. |
observedState.condition.targetsPresentCondition.missingTargets[] |
|
observedState.condition.targetsPresentCondition.status |
True if there aren't any missing Targets. |
observedState.condition.targetsPresentCondition.updateTime |
Last time the condition was updated. |
observedState.condition.targetsTypeCondition |
Details on the whether the targets enumerated in the pipeline are of the same type. |
observedState.condition.targetsTypeCondition.errorDetails |
Human readable error message. |
observedState.condition.targetsTypeCondition.status |
True if the targets are all a comparable type. For example this is true if all targets are GKE clusters. This is false if some targets are Cloud Run targets and others are GKE clusters. |
observedState.createTime |
Output only. Time at which the pipeline was created. |
observedState.uid |
Output only. Unique identifier of the `DeliveryPipeline`. |
observedState.updateTime |
Output only. Most recent time at which the pipeline was updated. |