Project
A Project represents a cloud-native application composed of multiple components in OpenChoreo. It serves as the fundamental unit of isolation and provides a logical boundary for organizing related components, services, and resources.
API Versionβ
openchoreo.dev/v1alpha1
Resource Definitionβ
Metadataβ
Projects are namespace-scoped resources.
apiVersion: openchoreo.dev/v1alpha1
kind: Project
metadata:
name: <project-name>
namespace: <namespace> # Namespace for grouping projects
Spec Fieldsβ
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
deploymentPipelineRef | DeploymentPipelineRef | Yes | - | Reference to the DeploymentPipeline that defines the promotion paths between environments for this project. Must reference an existing DeploymentPipeline in the same namespace |
workflowPlaneRef | WorkflowPlaneRef | No | - | Reference to the WorkflowPlane or ClusterWorkflowPlane for building this project's components |
DeploymentPipelineRefβ
Reference to a DeploymentPipeline that defines the promotion paths between environments for this project.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
kind | string | No | DeploymentPipeline | Kind of the deployment pipeline resource |
name | string | Yes | - | Name of the deployment pipeline resource |
WorkflowPlaneRefβ
Reference to a WorkflowPlane or ClusterWorkflowPlane for building this project's components.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
kind | string | No | WorkflowPlane | Kind of the workflow plane (WorkflowPlane or ClusterWorkflowPlane) |
name | string | Yes | - | Name of the workflow plane resource |
If workflowPlaneRef is not specified, the system resolves a WorkflowPlane using the following fallback order:
- Default WorkflowPlane in the project's namespace
- ClusterWorkflowPlane named "default"
- First available WorkflowPlane or ClusterWorkflowPlane
Status Fieldsβ
| Field | Type | Default | Description |
|---|---|---|---|
observedGeneration | integer | 0 | The generation observed by the controller |
conditions | []Condition | [] | Standard Kubernetes conditions tracking the project state |
Condition Typesβ
Common condition types for Project resources:
Ready- Indicates if the project is fully provisioned and readyReconciled- Indicates if the controller has successfully reconciled the projectNamespaceProvisioned- Indicates if project namespaces have been created in all environments
Examplesβ
Basic Projectβ
A simple project referencing the default deployment pipeline:
apiVersion: openchoreo.dev/v1alpha1
kind: Project
metadata:
name: internal-apps
namespace: default
annotations:
openchoreo.dev/display-name: Internal Applications
openchoreo.dev/description: This project contains components that are used by company's internal applications
spec:
deploymentPipelineRef:
name: default-deployment-pipeline
Project with Explicit WorkflowPlaneRefβ
A project with an explicit reference to a WorkflowPlane:
apiVersion: openchoreo.dev/v1alpha1
kind: Project
metadata:
name: internal-apps
namespace: default
annotations:
openchoreo.dev/display-name: Internal Applications
openchoreo.dev/description: This project contains components built on a dedicated workflow plane
spec:
deploymentPipelineRef:
name: default-deployment-pipeline
workflowPlaneRef:
kind: WorkflowPlane
name: dedicated-workflowplane
Project with ClusterWorkflowPlaneβ
A project referencing a cluster-scoped workflow plane:
apiVersion: openchoreo.dev/v1alpha1
kind: Project
metadata:
name: shared-apps
namespace: default
spec:
deploymentPipelineRef:
name: default-deployment-pipeline
workflowPlaneRef:
kind: ClusterWorkflowPlane
name: shared-workflowplane
Annotationsβ
Projects support the following annotations:
| Annotation | Description |
|---|---|
openchoreo.dev/display-name | Human-readable name for UI display |
openchoreo.dev/description | Detailed description of the project |
Related Resourcesβ
- Component - Deployable units within projects
- DeploymentPipeline - Defines environment promotion paths
- WorkflowPlane - Namespace-scoped workflow plane for CI/CD
- ClusterWorkflowPlane - Cluster-scoped workflow plane for CI/CD