Skip to main content
Version: Next

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 that must be created within an Organization's namespace.

apiVersion: openchoreo.dev/v1alpha1
kind: Project
metadata:
name: <project-name>
namespace: <org-namespace> # Organization namespace

Spec Fields

FieldTypeRequiredDefaultDescription
deploymentPipelineRefstringYes-Reference to the DeploymentPipeline that defines the promotion paths between environments for this project. Must reference an existing DeploymentPipeline in the same namespace

Status Fields

FieldTypeDefaultDescription
observedGenerationinteger0The 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 ready
  • Reconciled - Indicates if the controller has successfully reconciled the project
  • NamespaceProvisioned - 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: default-deployment-pipeline

Annotations

Projects support the following annotations:

AnnotationDescription
openchoreo.dev/display-nameHuman-readable name for UI display
openchoreo.dev/descriptionDetailed description of the project