Commodore Component Release Channels

What are release channels and how do we use them?

Release channels are separate lists of component specifications that are updated according to different criteria. Each channel defines entries in parameters.components with pinned versions. Currently we have a fast release channel, where minor and patch updates are applied automatically as soon as they release, as well as a stable release channel, where minor and patch updates are applied automatically one week after they release. Major version upgrades are handled manually on both channels.

The release channels are defined in the Commodore defaults repo and maintained by renovate. Clusters select a specific release channel by setting the release_channel fact. In addition, the cluster needs to be configured to use the release channel in its commodore configuration:

classes:
  - global.components.${facts:release_channel}

This configuration can be done in the tenant repository, or in the Commodore defaults repo.

Release channels in commodore-defaults

The component specifications for each release channel are defined in commodore-defaults/components/.

The automatic update of component versions is configured in renovate.json.