This repository contains an Upbound project, tailored for users establishing their initial control plane with Upbound. This configuration deploys a fully managed Ghost blog application as an example of how to deploy apps.
The core components of a custom API in Upbound Project include:
- CompositeResourceDefinition (XRD): Defines the API's structure.
- Composition(s): Configures the Functions Pipeline
- Embedded Function(s): Encapsulates the Composition logic and implementation within a self-contained, reusable unit
In this specific configuration, the API contains:
- an App custom resource type.
- Composition: Configured in /apis/xapps/composition.yaml, it provisions a Ghost blog deployment with helm and resources.
- Embedded Function: The Composition logic is encapsulated within embedded function
- Execute
up project run
- Alternatively, install the Configuration from the Upbound Marketplace
- Check examples for example XR(Composite Resource)
The configuration can be tested using:
up composition render --xrd=apis/definition.yaml apis/xapps/composition.yaml examples/app-xr.yaml
to render the compositionup test run tests/*
to run composition tests intests/test-xapp/
up test run tests/* --e2e
to run end-to-end tests intests/e2etest-xapp/
This repository serves as a foundational step. To enhance the configuration, consider:
- create new API definitions in this same repo
- editing the existing API definition to your needs
To learn more about how to build APIs for your managed control planes in Upbound, read the guide on Upbound's docs.