Product delivery

Channels, lock and rollback

Release versions through dev, beta and stable, and control what installs receive.

Release management decides which installs receive a version, and when.

Release channels

Every version is released to one channel: dev, beta or stable. Channels nest:

Install channelReceives versions on
stablestable
betabeta and stable
devdev, beta and stable

A new install takes the newest version its channel can see. Upgrade available on an install also follows its channel.

Promote or pull back

In Details, each version has a channel selector. Move a version from dev to beta to stable as it proves itself, or pull it back to a less stable channel if it misbehaves. Installs that no longer see the version are not downgraded; they simply stop being offered it.

Lock an install

The Lock switch on an install stops all upgrades, manual and automatic, until it is unlocked. Use it to freeze a production project during an incident or an audit. Locking and unlocking need the editor role on the install's project, since they decide what reaches that project.

Roll back

Change version on an install moves it to any other version its channel can see, including an older one. Choosing a lower version is a rollback: the install's resources are rewritten from that version. Upgrading without choosing a version only ever moves forward.

API

MethodPathRequires
PUT/api/v2/products/{id}/versions/{version}/channelproduct:write
PUT/api/v2/products/installs/{installId}/lockproduct:install and editor on the project
POST/api/v2/products/installs/{installId}/upgradeproduct:install

The upgrade body takes an optional toVersion; a lower toVersion is a rollback.

Converge