This page will walk through how to set up a Release promotion pipeline to begin managing Product upgrades in Apollo.
Before configuring the Release promotion pipeline, you should publish an initial Product Release to Apollo.
You should also create any custom Release Channels that you would like to include in your promotion pipeline.
You can define requirements for promotion by selecting Edit product settings from the Actions dropdown on the Product home page.
Navigate to the Upgrades tab to specify health requirements and maintenance windows.
For the unhealthy threshold to be relevant for promotion and automatic recall, your Helm chart must produce health. For Entities not producing health, Apollo will consider only liveness and the promotion will be time based only. This means that the promotion time periods where all pods are live will be considered "healthy", and other periods will be considered neither "healthy" nor "unhealthy". As a consequence, promotion can succeed or continue evaluating without health but never fail.
Apollo computes two durations during promotion evaluation:
HEALTHY
or DEFERRING
.ERROR
health state.Note:
WARNING
, REPAIRING
, SUSPENDED
, and TERMINAL
health states do not contribute to either the healthy or unhealthy duration. This means that the total duration healthy plus unhealthy duration might be lower than the total soak time.You can define two threshold values based on the healthy and unhealthy durations. The values for these thresholds must be between zero and one.
To configure a promotion pipeline, navigate to the Releases tab of the Product home page and select Edit from the Promotion pipeline box.
You can also select Edit promotion pipeline from the Actions dropdown.
This will open the promotion pipeline configuration window.
A promotion stage refers to the transition between two Release Channels. Select Add stage to add a pipeline stage and the cross to the right of a stage to remove a promotion stage.
For each promotion stage you will define the following Release Channels:
Two types of promotion are available:
In addition to satisfying the promotion requirements specified by each stage, the Release will only be promoted during the Product's maintenance window.
Changes to a Product's promotion pipeline take effect at the next evaluation, which happens every minute.
When you select Timed promotion, Apollo will use time-based promotion evaluation. You can define the following parameter for time-based promotion:
When you select Canary promotion, Apollo will use canary-based promotion evaluation. During canary-based promotion evaluation, Apollo will select test Environments using configured Entity filters. It will evaluate the Release on these test Environment based on the conditions that you define. The Release is promoted to the target Release Channel when all conditions are satisfied.
Entity filters define the pool of Entities from which Apollo will choose test Environments. The available filters are:
Conditions define the requirements that Releases must satisfy before being promoted to the target Release Channel.
Select Confirm when you are finished editing the promotion pipeline.
You can view the Release promotion pipeline that you configured on the Product overview page.
In the example above, all Releases of the helm-chart-operator
Product will follow this promotion pipeline once they are published.
You can also view a Release promotion pipeline graph for each Product release by selecting a Release from the Releases tab of the Product overview page. This graph includes details on the promotion evaluation status and promotion results at each pipeline stage.
Learn more about tracking Product Releases.