Get startedSign in

Understanding The Plural Upgrade Processs

A brief overview of how upgrades work within Plural

Overview

The purpose of this doc is to help users understand the nuts-and-bolts of how upgrades work with Plural. There are a few main concepts you need to get a grasp of:

  • The states an installation of an app can be in as versions change
  • Release channels and how they control upgrades
  • The individual upgrade queue for a cluster
  • Cluster Promotions and how they control upgrades

Installation States

Any Plural user can have a set of installations bound to them. These include an installation of a specific app (e.g. Airbyte) and submodules for that app (e.g. a helm chart at some version, and a terraform module at that version). At any given point in time that installation can be:

  • Synced/Unsynced - This basically means the installation has changed versions in our API but has not yet been applied in your infrastructure. Generally running plural deploy for that app will mark it as synced.
  • Locked/Unlocked - This state is used when a manual change is needed. Some changes – like kubernetes upgrades or heavy app migrations – need to be applied manually and not by our console, and this state is meant to pause upgrades for that app until you explicitly mark it as having been applied with plural repos unlock <app>.

These states are all visible in our cluster view in app.plural.sh as shown here:

Release Channels

An app can have any number of release channels which are basically named tags for specific versions of an app. In general these will be: