Creating and Pushing Packages
This section covers creating and pushing packages to the Upbound Marketplace. For information about installing packages read the Crossplane Packages section.
Crossplane supports two package types,
Configurationpackages combine Crossplane Composite Resource Definitions, Compositions and metadata.
Providerpackages combine a Kubernetes controller container, associated Custom Resource Definitions (
CRDs) and metadata. The Crossplane open source AWS provider package is an example a provider’s metadata and
- Building and pushing packages require the
- Pushing packages requires an Upbound account.
Build a package using
up xpkg build.
up xpkg build command expects a
crossplane.yaml file to provide the metadata for the package file.
The default name is the
metadata.name value in the
Provide a specific package name with
up xpkg build --name <package name>.
up xpkg build saves the package to the current directory. Specify a specific location with
up xpkg build -o <path>.
up xpkg build command reference contains all available options.
Before pushing a package you must login to the Upbound Marketplace using
Upbound hosts packages in an Upbound repository. Create a repository with the
up repository create command.
For example, to create a repository called
All repositories are private by default.
View any existing repositories with
up repository list.
Push a package to the Upbound Marketplace using the
up xpkg push command.
up xpkg push command requires:
- The repository to push a package to.
- A package version tag. The package version tag is a semantic versioning number determining package upgrades and dependency requirements.
The push command syntax is
up xpkg push <repoository>:<version tag> -f <xpkg file>.
For example, to push a package with the following parameters:
- Package file named
Use the following
up xpkg push command:
You need to login to the Marketplace to see packages in private repositories.
The package is now available from the Upbound Marketplace. View the Marketplace listing at:
https://marketplace.upbound.io/<package_type>/<organization or user>/<repository>/
For example, the Upbound AWS Official Provider is a
provider package in the
provider-aws repository. The package address is
Upbound needs the following information before considering a package:
- Public public Git repository of the package.
- The Upbound account to list as an owner and point of contact.
- The Upbound repository name.