Skip to main content

The Platform Model

The Semantic Key

Everything derives from a single three-segment key:

{project} - {env} - {service}
SegmentRoleExamples
projectOwnership boundary — domain or product areapayments, orders, platform
envDeployment targetdev, staging, prod, mgmt
serviceIndividual workload or infrastructure pieceapi, worker, gke-main

env is owned by Kubernetes and ArgoCD. Backstage observes env at runtime — it never defines it.

How the Key Maps Across Every System

ConceptBackstageArgoCDKubernetesCrossplane
Ownership boundaryDomainAppProjectproject labelClaims namespace prefix
Logical productSystemApplicationSetnamespace group <project>-*
WorkloadComponentApplication (base)service label
Cloud resourceResourceApplicationinfra namespace <project>-<env>-infraClaim
Deployment instance(observed)Application (instance)namespace <project>-<env>-<service>

Full Picture

Backstage Catalog ArgoCD Kubernetes Cloud
─────────────────────────────────────────────────────────────────────────────────────

Domain: payments ──► AppProject: payments ──► label: project=payments

├── System: gateway ──► AppSet: gateway ──► namespace group: payments-*
│ └── Component: ──► Application: ──► payments-dev-api
│ gateway-api gateway-api-<env> payments-staging-api
│ payments-prod-api

└── Resource: ──► Application: ──► payments-prod-infra ──► GKE Cluster
gcp-payments- crossplane-payments- Claim: gke-main (GCP)
prod-gke-main prod-gke-main