# ───────────────────────────────────────────────────────────────────────────── # COMPONENTS — software someone owns and runs. The most common kind. # # Path: content/orgs//components/.yaml # Docs: content/orgs//docs/component// (TechDocs, optional) # # `spec.type` distinguishes them: service | website | library. # # NOTE — no annotations block. Two are DERIVED and injected at deploy: # backstage.io/managed-by-location from this file's path # backstage.io/techdocs-ref iff docs/component// exists # So adding docs = creating the folder; nothing to remember here. Writing either # explicitly still wins — enrichment never overwrites a human value. # ───────────────────────────────────────────────────────────────────────────── --- apiVersion: backstage.io/v1alpha1 kind: Component metadata: annotations: backstage.io/managed-by-location: url:https://static-ai-stack.dc7.io/catalog/example-org/components/sample-service.yaml backstage.io/techdocs-ref: url:https://static-ai-stack.dc7.io/catalog/ name: sample-service title: Sample Service description: >- Reference component. Demonstrates ownership, the ADLC annotations, API exposure, and a resource dependency. tags: - reference - adlc links: - url: https://backstage-ai-stack.dc7.io title: Developer Portal icon: dashboard spec: type: service lifecycle: production # Owner MUST be a real group. Prefer an IdP-synced Pocket ID group so # ownership resolves to current people automatically. owner: group:default/platform-team system: sample-system providesApis: - sample-service-api dependsOn: - resource:default/sample-service-db