API and CRDs
DevsPortal's platform and developer APIs are the Control Plane Operator Custom Resource
Definitions. Everything you create — projects, components, environments, roles — is a Kubernetes
custom resource in the openchoreo.dev/v1alpha1 API group, reconciled by the control-plane
controllers and surfaced through the REST API and the portal.
DevsPortal is built on the Control Plane Operator engine. The API group
openchoreo.dev/v1alpha1, the CRD kinds, and the controller names are the engine's own
identifiers and are kept unchanged.
Reaching the API
There are three equivalent ways to work with these resources — they all act on the same CRDs:
- The portal — the recommended path for most tasks (Create…, Catalog, Deploy, Settings).
- The
occCLI —occ apply -f …,occ <kind> list/get …for scripting and GitOps. - The REST API — base URL for this instance is https://api.idp.fedshi.com.
See Endpoints and credentials for how to authenticate.
The resource model
The full set of kinds — grouped by audience, shown as a visual hierarchy, each with a focused reference page — lives in the Resource Model. Start there for:
- The ownership and release chain and the templates, delivery, and planes charts.
- Developer resources — Project, Component, Workload, Resource, and the release kinds.
- Platform resources — ComponentType, Trait, ResourceType, Workflow, Environment, DeploymentPipeline, ReleaseBinding, Planes.
- Authorization —
AuthzRole/AuthzRoleBindingand their cluster variants.
Field-level reference
The per-resource pages give the shape and a minimal example of each kind. For the complete, field-level reference — spec, status, and examples — read the upstream Control Plane Operator API docs:
Related pages
- Resource Model — the kind-by-kind map and hierarchy charts.
- Endpoints and credentials — how to authenticate to the API.
- Links — the full "read here vs read upstream" map.
- Authorization (RBAC) — using the Authz CRDs.