Manual Promotion
Manual promotion requires explicit user action to promote releases. Use this when you want full control over when releases move between channels.Timed Promotion
Timed promotion automatically promotes releases after they have been in the source channel for a specified duration. Use this for time-based soak testing before promotion.Canary Promotion
Canary promotion evaluates installations running the release and promotes when conditions are met. Use this to monitor health of specific installations before promoting to wider availability.Properties
name
string — required
Unique identifier for this promotion pipeline. Used to reference the pipeline from services and blueprints.
paths
array — optional
List of promotion paths that define how releases flow between channels. Each path connects a source channel to a target channel and specifies promotion criteria.
paths[].sourceChannel
string — required
Name of the release channel where releases start. When a release is added to this channel, it becomes eligible for promotion according to the path’s criteria.
paths[].targetChannel
string — required
Name of the release channel where releases are promoted to. When promotion criteria are met, the release is automatically added to this channel.
paths[].criteria
object — required
Defines when and how releases are promoted from the source channel to the target channel. The criteria type determines what conditions must be met for promotion.
paths[].criteria.type
string — required
Type of promotion criteria. Valid values: manual, timed, canary
manual: Requires explicit promotion trigger via API or UItimed: Automatically promotes after specified durationcanary: Evaluates source channel installations and promotes when conditions are met
paths[].criteria.duration
string — required for timed type
Duration that a release must remain in the source channel before being promoted. Uses Go duration format (e.g., 4h, 24h, 7d). Maximum duration is 31 days.
paths[].criteria.filters
array — optional, only valid for canary type
Filters that determine which installations are evaluated when checking promotion conditions. Each filter selects installations based on environment characteristics. Only the filtered installations are monitored to determine if conditions are met for promotion to the target channel.
paths[].criteria.filters[].resource
string — required
The type of resource to filter on. Valid values: environment
paths[].criteria.filters[].selector
object — required
Selector to match resources. Fields depend on the resource type.
paths[].criteria.filters[].selector.name
string — optional
Match by resource name (for environment resource type).
paths[].criteria.conditions
array — optional, only valid for canary type
Conditions that must be met before promotion occurs. Multiple conditions can be specified, and all must be satisfied.
paths[].criteria.conditions[].type
string — required
Type of condition to evaluate. Valid values: health
health: Promote when threshold of installations are healthy for the specified duration
paths[].criteria.conditions[].thresholdPercent
integer — optional
Percentage of filtered installations that must be healthy. Valid range: 1-100. Either thresholdPercent or thresholdCount must be specified, but not both.
paths[].criteria.conditions[].thresholdCount
integer — optional
Number of filtered installations that must be healthy. Either thresholdPercent or thresholdCount must be specified, but not both.
paths[].criteria.conditions[].minHealthDuration
string — optional
Minimum time installations must remain continuously healthy before promotion (e.g., 2h, 24h, 7d). If not specified, promotion occurs as soon as health requirements are met.
Associating with Services
To apply a promotion pipeline to a service, set thepromotionPipeline property in your service configuration. All releases of that service will follow the pipeline’s promotion paths.
promotionPipeline property documentation for your service type:
Associating with Blueprints
To apply a promotion pipeline to a blueprint, set thepromotionPipeline property in your blueprint configuration. All releases of that blueprint will follow the pipeline’s promotion paths.
promotionPipeline property documentation for more details.