This repository contains an Upbound project, tailored for users establishing their initial control plane with Upbound. This configuration deploys fully managed Azure database instances.
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 Azure Database custom resource type.
- Compositions: Configured in /apis/xsqlinstances/composition_postgres.yaml and /apis/xsqlinstances/composition_mariadb.yaml
- Embedded Functions: The Composition logic is encapsulated within PostgreSQL function and MariaDB function
The configuration can be tested using:
up composition render --xrd=apis/xsqlinstances/definition.yaml apis/xsqlinstances/composition_postgres.yaml examples/sqlinstance/postgres.yaml
to render the PostgreSQL compositionup composition render --xrd=apis/xsqlinstances/definition.yaml apis/xsqlinstances/composition_mariadb.yaml examples/sqlinstance/mariadb.yaml
to render the MariaDB compositionup test run tests/*
to run composition tests intests/test-postgres/
andtests/test-mariadb/
up test run tests/* --e2e
to run end-to-end tests intests/e2etest-dbs/
- Execute
up project run
- Alternatively, install the Configuration from the Upbound Marketplace
- Check examples for example XR(Composite Resource)
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.