A reference for an Internal Developer Platform (IDP) — the self-service layer that lets product teams ship without filing tickets. It includes Backstage-style service catalog entities, golden-path scaffolder templates, and the paved-road defaults a platform team provides.
Platform engineering is the discipline of building the "paved road": opinionated, self-service tooling that makes the right way the easy way.
.
├── catalog/
│ ├── catalog-info.yaml # Backstage Component/System/API entities
│ └── org.yaml # Teams + ownership
├── templates/
│ └── service-template/ # Golden-path scaffolder template
│ ├── template.yaml # Backstage Software Template
│ └── skeleton/ # What gets generated for a new service
│ ├── catalog-info.yaml
│ ├── Dockerfile
│ └── .github/workflows/ci.yml
└── docs/
└── paved-road.md # The platform's opinionated defaults
- Platform-engineering thinking: self-service over tickets, golden paths over snowflakes
- Backstage software catalog modeling (Components, Systems, APIs, ownership)
- Scaffolder templates that generate a fully-wired service (Dockerfile + CI + catalog entry)
- Treating internal developer experience as a product
- Open the platform portal (Backstage) and pick "Create a new service."
- Fill in name + owner. The scaffolder generates a repo from
templates/service-template— already containerised, with CI, and registered in the catalog. - The service appears in the catalog with its owner, docs, and dependencies linked.
| Concern | Paved-road default |
|---|---|
| Build/Deploy | Reusable CI (see cicd-pipeline-templates) |
| Runtime | Kubernetes via gitops-kubernetes-platform |
| Observability | Auto-wired (kubernetes-monitoring-helm-chart) |
| Secrets | Vault |
| Security | devsecops-starter-kit scans in CI |
This IDP ties the other platform repos together into a single self-service developer experience.
MIT