Creating a Project
A Project is a logical boundary that groups related components together. Each project is linked to a deployment pipeline that defines how components are promoted across environments (e.g., development, staging, production).
What a Project Definesβ
A Project resource is intentionally minimal:
| Field | Description |
|---|---|
metadata.name | Unique name within the namespace (must be a valid Kubernetes name) |
metadata.namespace | The namespace this project belongs to |
spec.deploymentPipelineRef | Reference to a DeploymentPipeline that controls environment promotion |
| Annotations | Optional openchoreo.dev/display-name and openchoreo.dev/description for human-readable metadata |
Creating via Backstage UIβ
- Navigate to your namespace in the Backstage console
- Click Create Project
- Fill in the form:
- Namespace: pre-selected from your current context
- Project Name: a valid Kubernetes name
- Display Name: optional human-readable name
- Description: optional description
- Deployment Pipeline: select from available pipelines in the namespace (defaults to
default)
- Click Create
The project appears immediately in the Backstage catalog.
Creating via YAMLβ
Create a project.yaml file:
apiVersion: openchoreo.dev/v1alpha1
kind: Project
metadata:
name: online-store
namespace: default
annotations:
openchoreo.dev/display-name: "Online Store"
openchoreo.dev/description: "E-commerce application components"
spec:
deploymentPipelineRef:
kind: DeploymentPipeline
name: default
Apply it:
kubectl apply -f project.yaml
Or using the occ CLI:
occ apply -f project.yaml
When OpenChoreo is installed, a default project with a default deployment pipeline is created automatically. You only need to create additional projects if you want separate deployment pipelines or logical groupings.
Managing Projectsβ
List projectsβ
occ project list --namespace default
View project detailsβ
occ project get online-store --namespace default
Delete a projectβ
occ project delete online-store --namespace default
Deleting a project also deletes all components within it.
Change deployment pipelineβ
In the Backstage UI, click the edit icon on the Deployment Pipeline card on the project page to select a different pipeline.
What's Nextβ
- Creating a Component: deploy a service, web app, or scheduled task within your project