The software catalog
The swcat software catalog consists of a set of YAML (*.yml) files,
each containing one or more entity definitions (separated by the standard YAML
document separator, ---).
Its data format follows the Kubernetes Resource Model (KRM), using the familiar
apiVersion, kind, metadata, and spec fields.
For details on the common fields, see:
Supported entity kinds are a subset of the backstage.io software catalog, with minor adjustments to required and optional fields and entity references:
- Domain: A high-level grouping of related systems that share a bounded context (terminology, models, business purpose).
- System: A collection of Components, Resources, and APIs that together deliver a cohesive application.
- Component: A deployable and runnable software artifact such as an API gateway or a backend service.
- Resource: Represents infrastructure such as messaging brokers, caches, or databases.
- API: A communication interface provided by one or more components and consumed by others (e.g., gRPC, http/REST, Pub/Sub topics, web services, or FTP).
- Group: An organizational entity (team or business unit) used to model ownership and contact information.
For more details on each entity kind, see the following pages:
Source code references
The fields of each entity kind are also documented in internal/api/api.go.
A larger example can be found under examples/flights.