Project
A Project is where a team works. It does two jobs at once: it's a bounded context — a logical home for the components that implement one business capability — and a runtime cell: when its components deploy, the platform gives the project its own namespace on the data plane, per environment, with network policies. That cell is the isolation boundary at runtime.
A Project lives inside an Organization (a control-plane namespace) and binds to a DeploymentPipeline, which fixes the promotion path its components travel.
| Kind | Project |
| API group | openchoreo.dev/v1alpha1 |
| Scope | Namespaced |
| Audience | Developer / platform engineer |
| Parent | Organization (the control-plane namespace) |
| Contains | Components, Resources |
| References | DeploymentPipeline (spec.deploymentPipelineRef) |
Where it sits
Organization (namespace)
└── Project ← you are here
├── Component
└── Resource
Key spec fields
| Field | Description |
|---|---|
spec.deploymentPipelineRef.kind | DeploymentPipeline (or ClusterDeploymentPipeline) |
spec.deploymentPipelineRef.name | The pipeline whose promotion paths this project's releases follow |
metadata.annotations[openchoreo.dev/display-name] | Human-readable name shown in the portal |
metadata.annotations[openchoreo.dev/description] | Short description |
metadata.annotations[backstage.io/owner] | Owning team; cascades to every component in the project |
Create in the portal
- Open Create… in the left nav.
- Under Application Resources, pick the Project template ("Group related components and services within an isolated boundary").
- Give it a name (e.g.
url-shortener), a description and owner, and choose the Deployment Pipeline it binds to (e.g.default). - Click Create. The project then shows up in the Catalog (filter Kind: Project), ready for components.
Prefer YAML/GitOps? See the Example below, or Orgs, projects, and tenancy.
Example
apiVersion: openchoreo.dev/v1alpha1
kind: Project
metadata:
name: checkout
namespace: fedshi
annotations:
openchoreo.dev/display-name: "Checkout"
openchoreo.dev/description: "Cart, payment, and order-history services"
backstage.io/owner: group:default/checkout-team
spec:
deploymentPipelineRef:
kind: DeploymentPipeline
name: default
occ apply -f checkout-project.yaml
occ project get checkout -n fedshi
See also
- Orgs, projects, and tenancy — the tenancy model and how to create one.
- Projects and components (developer view).
- Component · Deployment pipeline
- Upstream field-level API reference.