upbound / universal-crossplane

Enterprise-grade @crossplane from @upbound
https://upbound.io/product/universal-crossplane
Apache License 2.0
117 stars 31 forks source link
cloud-native control-plane crossplane kubernetes

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:

Additional Resources