Skip to content

upbound/universal-crossplane

Repository files navigation

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

  1. Install the Upbound CLI.

    curl -sL https://cli.upbound.io | sh

    To install with Homebrew:

    brew install upbound/tap/up
  2. Install UXP to a Kubernetes cluster.

    # Make sure your ~/.kube/config file points to your cluster
    up uxp install

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.

  1. Create the namespace to install UXP.

    kubectl create namespace upbound-system
  2. Add upbound-stable chart repository.

    helm repo add upbound-stable https://charts.upbound.io/stable && helm repo update
  3. 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 now v1.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.
  • 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.