Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/upbound/universal-crossplane
Enterprise-grade @crossplane from @upbound
https://github.com/upbound/universal-crossplane
cloud-native control-plane crossplane kubernetes
Last synced: about 1 month ago
JSON representation
Enterprise-grade @crossplane from @upbound
- Host: GitHub
- URL: https://github.com/upbound/universal-crossplane
- Owner: upbound
- License: apache-2.0
- Created: 2021-03-03T14:30:54.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-19T02:46:00.000Z (5 months ago)
- Last Synced: 2024-07-19T11:19:21.790Z (5 months ago)
- Topics: cloud-native, control-plane, crossplane, kubernetes
- Language: Go
- Homepage: https://upbound.io/product/universal-crossplane
- Size: 2.96 MB
- Stars: 117
- Watchers: 25
- Forks: 31
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ccamel - upbound/universal-crossplane - Enterprise-grade @crossplane from @upbound (Go)
README
# Upbound Universal Crossplane (UXP)
Upbound Universal Crossplane (UXP) is [Upbound's][upbound] official
enterprise-grade distribution of [Crossplane][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][upbound-cli].
```console
curl -sL https://cli.upbound.io | sh
```
To install with Homebrew:
```console
brew install upbound/tap/up
```2. Install UXP to a Kubernetes cluster.
```console
# 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.
```console
kubectl create namespace upbound-system
```1. Add `upbound-stable` chart repository.
```console
helm repo add upbound-stable https://charts.upbound.io/stable && helm repo update
```1. Install the latest stable version of UXP.
```console
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
```console
# 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:
```console
# 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
```console
# 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:
```console
# 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](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][uxp-documentation] provides additional information
about UXP and resources for developers, like examples.
- The [developer guide][developer-guide] describes how to build and run UXP
locally from source.
- [UXP Slack][uxp-slack] is where you can go to get all of your UXP questions
answered.[upbound]: https://upbound.io
[crossplane]: https://crossplane.io/
[upbound-cli]: https://github.com/upbound/up
[create-account]: https://cloud.upbound.io/register
[login]: https://cloud.upbound.io/login
[uxp-documentation]: https://cloud.upbound.io/docs/uxp
[developer-guide]: developer-guide.md
[uxp-slack]: https://crossplane.slack.com/archives/upbound