Skip to main content

Automatically upgrade control planes

Upbound Spaces can automatically upgrade the version of Crossplane in your Managed Control Planes. You can edit the spec.crossplane.autoUpgrade field in your ControlPlane specification with the available release channels below.

ChannelDescriptionExample
NoneDisables auto upgrades.Uses version specified in spec.crossplane.version.
PatchUpgrades to the latest supported patch release.Control plane version 1.12.2-up.2 auto upgrades to 1.12.3-up.1 upon release.
StableDefault setting. Upgrades to the latest supported patch release on minor version N-1 where N is the latest supported minor version.If latest supported minor version is 1.14, auto upgrades to latest patch - 1.13.2-up.3
RapidUpgrades to the latest supported patch release on the latest supported minor version.If the latest supported minor version is 1.14, auto upgrades to the latest patch of minor version. 1.14 upgrades to 1.14.5-up.1
warning

The Rapid channel is only recommended for users willing to accept the risk of new features and potentially breaking changes.

Examples

The specs below are examples of how to edit the autoUpgrade channel in your ControlPlane specification.

To run a control plane with the Rapid auto upgrade channel, your spec should look like this:

apiVersion: spaces.upbound.io/v1beta1
kind: ControlPlane
metadata:
name: example-ctp
spec:
crossplane:
autoUpgrade:
channel: Rapid
writeConnectionSecretToRef:
name: kubeconfig-example-ctp

To run a control plane with a pinned version of Crossplane, specify in the version field:

apiVersion: spaces.upbound.io/v1beta1
kind: ControlPlane
metadata:
name: example-ctp
spec:
crossplane:
version: 1.14.3-up.1
autoUpgrade:
channel: None
writeConnectionSecretToRef:
name: kubeconfig-example-ctp

Supported Crossplane versions

Spaces supports the three preceding minor versions from the last supported minor version. For example, if the last supported minor version is 1.14, minor versions 1.13 and 1.12 are also supported. Versions older than the three most recent minor versions aren't supported. Only supported Crossplane versions are valid specifications for new control planes.

Current Crossplane version support by Spaces version:

Spaces VersionCrossplane Version MinCrossplane Version Max
1.21.131.15
1.31.131.15
1.41.141.16
1.51.141.16
1.61.141.16
1.71.141.16
1.81.151.17
1.91.161.18
1.101.161.18
1.111.161.18
1.121.171.19

Upbound offers extended support for all installed Crossplane versions released within a 12 month window since the last Spaces release. Contact your Upbound sales representative for more information on version support.

warning

If the auto upgrade channel is Stable or Rapid, the Crossplane version will always stay within the support window after auto upgrade. If set to Patch or None, the minor version may be outside the support window. You are responsible for upgrading to a supported version

To view the support status of a control plane instance, use kubectl get ctp.

kubectl get ctp
NAME CROSSPLANE VERSION SUPPORTED READY MESSAGE AGE
example-ctp 1.13.2-up.3 True True 31m

Unsupported versions return SUPPORTED: False.

kubectl get ctp
NAME CROSSPLANE VERSION SUPPORTED READY MESSAGE AGE
example-ctp 1.11.5-up.1 False True 31m

For more information, use the -o yaml flag to return more information.

kubectl get controlplanes.spaces.upbound.io example-ctp -o yaml
status:
conditions:
...
- lastTransitionTime: "2024-01-23T06:36:10Z"
message: Crossplane version 1.11.5-up.1 is outside of the support window.
Oldest supported minor version is 1.12.
reason: UnsupportedCrossplaneVersion
status: "False"
type: Supported