Skip to main content

Store configurations

Upbound repositories lets you centrally store control plane artifacts, extensions, and build dependencies as part of an integrated Upbound experience.

This guide shows you how to:

  • Create a repository on Upbound
  • Build and push a control plane project's artifact (a Configuration) to the repository
  • Deploy the artifact to a control plane

Prerequisites

For this guide, you'll need:

  • The up CLI installed
  • An account on Upbound

Create a repository

Create a repository to store the Configuration created as part of this guide.

  1. Run the following command to create a new repository named quickstart-project-repo:
up repository create `quickstart-project-repo`
  1. Verify your repository exists with the up repository list command:
up repository list

Build a Configuration

Use the up CLI to scaffold a control plane project and build it to produce a Configuration.

  1. Run the following command to create a new control plane project in your current working directory:
up project init quickstart-project
  1. Change your current directory to quickstart-project. Run the following command in your terminal:
cd quickstart-project
  1. Run the following command to build the project and produce a Configuration package.
up project build

This command builds your configuration and stores it in the _output directory.

Push the Configuration

Now you can push the Configuration to your repository. Run the following command to push the configuration package to your repository:

up project push --repository=quickstart-project-repo
tip

Upbound automatically tags your package with a semver tag. You can override this with the --tag="" option of the push command.

Install the Configuration from the repository

To install the Configuration from your repository onto a control plane, apply the following manifest to a control plane:

apiVersion: pkg.crossplane.io/v1
kind: Configuration
metadata:
name: quickstart-project
spec:
package: "xpkg.upbound.io/$@<org-name>$@/quickstart-project"