Upbound Universal Crossplane (UXP)
Upbound Universal Crossplane (UXP) is Upbound's official enterprise-grade distribution of Crossplane. It's fully compatible with upstream Crossplane, open source, capable of connecting to Upbound Cloud for real-time dashboard visibility, and maintained by Upbound. It's the easiest way for both individual community members and enterprises to build their production control planes.
Quick Start
-
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
-
Create an Upbound account for a free dashboard for UXP.
-
Connect UXP to Upbound Cloud.
# The name of your new UXP control plane. UXP_NAME=mycrossplane up cloud login up cloud controlplane attach ${UXP_NAME} | up uxp connect -
-
Manage your UXP control plane by signing in to your Upbound account.
Installation With Helm 3
Helm requires the use of --devel
flag for versions with suffixes, like
v1.2.1-up.3
. But Helm repository we use is the stable repository so use of that
flag is only a workaround, you will always get the latest stable version of UXP.
-
Create the namespace to install UXP.
kubectl create namespace upbound-system
-
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 uxp --namespace upbound-system upbound-stable/universal-crossplane --devel
Upgrade from upstream Crossplane
In order to upgrade from upstream Crossplane, the target UXP version has to match
the Crossplane version until the -up.N
suffix. For example, you can upgrade from
Crossplane v1.2.1
only to a UXP version that looks like v1.2.1-up.N
but not to
a v1.3.0-up.N
. It'd need to be upgraded to upstream Crossplane v1.3.0
and then
UXP v1.3.0-up.N
.
Using up CLI
# 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
Using Helm 3
# Assuming it is installed in "crossplane-system" with release name "crossplane".
helm upgrade crossplane --namespace crossplane-system upbound-stable/universal-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/universal-crossplane --devel --version vX.Y.Z-up.N
Contributing
See CONTRIBUTING.md
Releases
After each minor Crossplane release, a corresponding patched and hardened version of Universal 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
v1.5.0
is released. - 2 weeks bake period.
- The latest version in
release-1.5
is nowv1.5.2
- The first release of UXP for v1.5 would be
v1.5.2-up.1
.- We take the latest patched version at the end of 2 weeks, not
v1.5.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
v1.5.3
is released after the initial 2 weeks bake period. - UXP
v1.5.3-up.1
will be released immediately to accommodate the fix coming with the patch version.
Additional Resources
- The UXP Documentation provides additional information about UXP and resources for developers, like examples.
- The developer guide describes how to build and run UXP locally from source.
- UXP Slack is where you can go to get all of your UXP questions answered.