Crossplane UXP (Upbound) install error in CI
Universal Crossplane (UXP) is Upbound's distribution of Crossplane, installed with the up CLI or its Helm chart. Installs fail when the up CLI is missing, the chart repository is not added, or the target namespace is wrong.
What this error means
A step running up uxp install fails with "up: command not found", or the UXP Helm install errors on a missing repo or namespace.
bash
up: command not found
# or, via Helm:
Error: INSTALLATION FAILED: repo upbound-stable not foundCommon causes
The up CLI or chart repo is not set up
UXP via up needs the up CLI installed; via Helm it needs the upbound-stable repo added first.
Installing into a missing or wrong namespace
The install targets a namespace that does not exist or differs from where later steps expect UXP.
How to fix it
Install the up CLI, then UXP
- Install the
upCLI on the runner. - Run
up uxp installinto the crossplane-system namespace. - Wait for the UXP deployment to be ready.
Terminal
curl -sL https://cli.upbound.io | sh
sudo mv up /usr/local/bin/
up uxp installInstall UXP via Helm with the repo added
Add the Upbound chart repo, then install the universal-crossplane chart into crossplane-system.
Terminal
helm repo add upbound-stable https://charts.upbound.io/stable
helm repo update
helm install uxp upbound-stable/universal-crossplane \
-n crossplane-system --create-namespace --waitHow to prevent it
- Install the up CLI (or add the Helm repo) before UXP steps.
- Install UXP into a consistent namespace across the pipeline.
- Wait for the UXP rollout before applying packages.
Related guides
Crossplane "crossplane: command not found" in CIFix "crossplane: command not found" in CI - the Crossplane CLI was never installed on the runner, or its bina…
Crossplane CRDs not installed (core not ready) in CIFix "no matches for kind Provider/Composition" in CI - the core Crossplane CRDs are not installed yet or the…
Crossplane admission webhook error on apply in CIFix "failed calling webhook ... crossplane" on kubectl apply in CI - the Crossplane validating webhook is unr…