BuildPlane
A BuildPlane represents the infrastructure layer responsible for executing build workloads in OpenChoreo. It provides the necessary compute resources and configuration for running CI/CD pipelines, typically using Argo Workflows or similar build orchestration systems. Each BuildPlane is associated with a specific Kubernetes cluster where build jobs are executed.
API Version
openchoreo.dev/v1alpha1
Resource Definition
Metadata
BuildPlanes are namespace-scoped resources that must be created within an Organization's namespace.
apiVersion: openchoreo.dev/v1alpha1
kind: BuildPlane
metadata:
name: <buildplane-name>
namespace: <org-namespace> # Organization namespace
Spec Fields
Field | Type | Required | Default | Description |
---|---|---|---|---|
kubernetesCluster | KubernetesClusterSpec | Yes | - | Defines the Kubernetes cluster where build workloads (e.g., Argo Workflows) will be executed |
observer | ObserverAPI | No | - | Configuration for the Observer API integration for monitoring and observability of build processes |
KubernetesClusterSpec
Field | Type | Required | Default | Description |
---|---|---|---|---|
name | string | Yes | - | Name identifier for the Kubernetes cluster |
credentials.apiServerURL | string | Yes | - | URL of the Kubernetes API server |
credentials.caCert | string | Yes | - | Base64-encoded CA certificate |
credentials.clientCert | string | Yes | - | Base64-encoded client certificate |
credentials.clientKey | string | Yes | - | Base64-encoded client private key |
ObserverAPI
Field | Type | Required | Default | Description |
---|---|---|---|---|
url | string | Yes | - | Base URL of the Observer API |
authentication.basicAuth.username | string | Yes | - | Username for basic authentication |
authentication.basicAuth.password | string | Yes | - | Password for basic authentication |
Status Fields
The BuildPlane status is currently minimal, with fields reserved for future use.
Field | Type | Default | Description |
---|---|---|---|
- | - | - | Status fields are reserved for future use |
Examples
Basic BuildPlane
apiVersion: openchoreo.dev/v1alpha1
kind: BuildPlane
metadata:
name: primary-buildplane
namespace: default
spec:
kubernetesCluster:
name: build-cluster-1
credentials:
apiServerURL: https://api.build-cluster.example.com:6443
caCert: LS0tLS1CRUdJTi... # Base64-encoded CA cert
clientCert: LS0tLS1CRUdJTi... # Base64-encoded client cert
clientKey: LS0tLS1CRUdJTi... # Base64-encoded client key
observer:
url: https://observer.example.com
authentication:
basicAuth:
username: admin
password: secretpassword
Annotations
BuildPlanes support the following annotations:
Annotation | Description |
---|---|
openchoreo.dev/display-name | Human-readable name for UI display |
openchoreo.dev/description | Detailed description of the BuildPlane |
Related Resources
- Build - Build job definitions that execute on BuildPlanes
- Component - Application components that trigger builds
- Organization - Organizational context for BuildPlanes