
Upbound Crossplane (UXP) is the AI-native distribution of Crossplane by Upbound. Crossplane is a framework for building your own control plane.
Tip
Upbound Crossplane is a key ingredient in building out a platform powered by an intelligent control plane architecture. Learn about how UXP safely brings AI intelligence into your control plane's reconcile loop with Intelligent Controllers.
-
Install the Upbound CLI.
curl -sL https://cli.upbound.io | sh
To install with Homebrew:
brew install upbound/tap/up
-
Install UXP to a Kubernetes cluster.
# Make sure your ~/.kube/config file points to your cluster up uxp install
-
Add
upbound-stable
chart repository.helm repo add upbound-stable https://charts.upbound.io/stable && helm repo update
-
Install the latest stable version of UXP.
helm install crossplane --namespace crossplane-system --create-namespace upbound-stable/crossplane --devel
Note
Helm requires the use of --devel
flag for versions with suffixes, like v2.0.1-up.1
. The Helm repository Upbound uses
is the stable repository, so use of that flag is only a workaround. You will always get the latest stable version of
Upbound Crossplane.
Important
Version Upgrade Rule: To meet the upstream Crossplane needs, ensure there is at most one minor version difference for Crossplane versions during upgrades.
To upgrade from upstream Crossplane, the target UXP version should match the Crossplane version until the
-up.N
suffix. You can increment at most one minor version between Crossplane versions to follow
upstream guidelines.
Examples:
- ✅ Allowed: Crossplane
v2.0.1
→ UXPv2.0.1-up.N
(same Crossplane version) - ✅ Allowed: Crossplane
v2.0.1
→ UXPv2.1.0-up.N
(one minor version diff in Crossplane) - ✅ Allowed: Crossplane
v2.0.1
→ UXPv2.0.5-up.N
(multiple patch versions allowed) - ❌ Not allowed: Crossplane
v2.0.1
→ UXPv2.2.0-up.N
(two minor version diff in Crossplane)
Required upgrade path for larger Crossplane version gaps:
If you want to upgrade from Crossplane v2.0.1
to UXP v2.2.1-up.N
, follow this incremental approach to meet
upstream requirements:
- Crossplane
v2.0.1
→ UXPv2.1.0-up.N
- UXP
v2.1.0-up.N
→ UXPv2.2.1-up.N
# Assuming it is installed in "crossplane-system" with release name "crossplane".
up uxp upgrade -n crossplane-system
If you'd like to upgrade to a specific version, run the following:
# Assuming it is installed in "crossplane-system" with release name "crossplane".
up uxp upgrade vX.Y.Z-up.N -n crossplane-system
# Assuming it is installed in "crossplane-system" with release name "crossplane".
helm upgrade crossplane --namespace crossplane-system upbound-stable/crossplane --devel
If you'd like to upgrade to a specific version, run the following:
# Assuming it is installed in "crossplane-system" with release name "crossplane".
helm upgrade crossplane --namespace crossplane-system upbound-stable/crossplane --devel --version vX.Y.Z-up.N
See CONTRIBUTING.md
After each minor Crossplane release, a corresponding patched and hardened version of Upbound Crossplane will be released after 2 weeks at the latest.
After the minor release of UXP, we will update that version with UXP-specific
patches by incrementing -up.X
suffix as well as upstream patches by incrementing
the patch version to the corresponding number.
An example timeframe would be like the following:
- Crossplane
v2.0.0
is released. - 2 weeks bake period.
- The latest version in
release-2.0
is nowv2.0.2
- The first release of UXP for v2.0 would be
v2.0.2-up.1
.- We take the latest patched version at the end of 2 weeks, not
v2.0.0-up.1
for example, if there is a patch release.
- We take the latest patched version at the end of 2 weeks, not
- Crossplane
v2.0.3
is released after the initial 2 weeks bake period. - UXP
v2.0.3-up.1
will be released immediately to accommodate the fix coming with the patch version.