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 managed control planes

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
  1. Open the Repositories page in the Upbound Console.
  2. Select Create Repository.
  3. Name the repository quickstart-project-repo.
  4. Select Create.

The repository list now shows your new repository.

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//quickstart-project"