Backstage is Spotify's open-source developer portal for managing software catalogs, documentation, and scaffolding. Understanding catalog entities, TechDocs, and the scaffolder is essential for platform engineering teams building internal developer platforms.
0 / 5 completed
1 / 5
What is the purpose of a catalog-info.yaml file in a Backstage-enabled organization?
A catalog-info.yaml is the entity descriptor file that teams add to their repositories to register services in the Backstage Software Catalog. It defines entity metadata: kind (Component, API, System, Group, User), name, owner, type, and relationships (dependsOn, providesApis). Backstage's catalog ingestion reads these files from repositories.
2 / 5
How does TechDocs in Backstage generate documentation for a service?
Backstage TechDocs uses MkDocs to build documentation from Markdown files in the service's repository (configured via docs/ directory and mkdocs.yml). The build output is stored in object storage (S3/GCS) and served via the TechDocs plugin in Backstage's UI, co-located with the catalog entity.
3 / 5
A platform team creates a Backstage Software Template. What does the scaffolder do when a developer uses this template?
Backstage's scaffolder executes Software Templates interactively: it collects parameters from the developer via a form, then runs template steps to create files, initialize a repository, push code, and register the new service in the catalog. This standardizes project creation, ensuring all new services follow org-wide conventions from day one.
4 / 5
What does the spec.type: website field in a Backstage Component entity communicate?
The spec.type field is a free-form string (common values: service, website, library) that categorizes the component. It enables filtering in the catalog UI (e.g., 'show all services') and informs plugins about the component's nature. It has no effect on deployment — Backstage is a developer portal, not an orchestrator.
5 / 5
An organization wants to add a custom Backstage plugin showing deployment status from their internal CD system. Where does this plugin's backend logic execute?
Backstage's backend plugins run in the Backstage Node.js backend server. A backend plugin can query your CD system's API (with proper credentials) and expose a REST endpoint that the frontend plugin calls via Backstage's internal proxy. This keeps credentials server-side and avoids CORS issues from direct browser-to-CD-system calls.