Skip to content

chore: add Backstage catalog metadata per RFC-2024-023#82

Closed
loujaybee wants to merge 1 commit intomainfrom
chore/add-backstage-catalog-metadata
Closed

chore: add Backstage catalog metadata per RFC-2024-023#82
loujaybee wants to merge 1 commit intomainfrom
chore/add-backstage-catalog-metadata

Conversation

@loujaybee
Copy link
Copy Markdown

Summary

This PR implements the Backstage catalog standardization requirements defined in RFC-2024-023.

Changes Made

  • Created catalog-info.yaml at repository root
  • ✅ All automated fields populated based on repository analysis
  • ✅ File validated using @roadiehq/backstage-entity-validator

What Was Automated

The following fields were automatically determined through repository analysis:

  • Component type: website (web UI with Thymeleaf templates and Bootstrap)
  • Description: Generated from README and repository purpose
  • Technology tags: java, spring-boot, thymeleaf, jpa, maven, website, internal
  • Lifecycle: experimental (sample/demo application, actively maintained)
  • Annotations: GitHub project slug auto-detected from git remote
  • Links: GitHub repository URL

Requires Manual Review

⚠️ The following fields require human input before merging:

Required

  • spec.owner: Currently set to team:REPLACE_WITH_TEAM_NAME
    • Please specify the team responsible for this component
    • Must match team identifier in Backstage org structure
    • Contact Platform Engineering if your team is not yet defined

Optional

  • spec.system: Commented out (not required for website type)
    • Specify if this component belongs to a larger system/product area
  • Additional links: Production URL, monitoring dashboards (if applicable)
  • Additional annotations: PagerDuty, SonarQube, CI/CD references (if applicable)

Validation

Passed Backstage entity validation

Validating Entity Schema policies for file catalog-info.yaml
✅ Validated entity kind 'component' successfully.
✅ Validating entity annotations for file document 0
✅ Entity Schema policies validated
✅ Validating locally dependant catalog contents

RFC Compliance

This implementation follows RFC-2024-023 requirements:

Requirement Status
File at repository root
Backstage format
metadata.name
metadata.description
metadata.tags
spec.type
spec.lifecycle
spec.owner ⚠️ Needs manual input
spec.system ✅ N/A (website type)

Next Steps

  1. Review all automated fields for accuracy
  2. Update spec.owner with the appropriate team identifier
  3. Add optional fields as needed (system, dependencies, additional links)
  4. Merge to complete RFC compliance

Note: This catalog metadata enables the component to be discovered and managed in Backstage, improving service ownership visibility and system architecture understanding.

Add catalog-info.yaml to enable service catalog coverage in Backstage.

Automated fields populated:
- Component type: website (web UI with Thymeleaf templates)
- Lifecycle: experimental (sample/demo application)
- Technology tags: java, spring-boot, thymeleaf, jpa, maven
- GitHub annotations and links

Manual review required:
- spec.owner: team identifier needs to be specified
- spec.system: optional, specify if part of larger system

Validation: Passed @roadiehq/backstage-entity-validator

Co-authored-by: Ona <no-reply@ona.com>
@loujaybee
Copy link
Copy Markdown
Author

⚠️ Manual Action Required

While most of the catalog metadata has been populated automatically, the following fields require your input:

Required Manual Fields

1. spec.owner (Line 55)

  • Current: team:REPLACE_WITH_TEAM_NAME
  • Action needed: Replace with your team identifier (e.g., team:platform-engineering, team:developer-experience)
  • Reference: See team registry for valid team names
  • Note: Contact Platform Engineering if your team is not yet defined in Backstage

2. spec.system (Line 61) - OPTIONAL

  • Current: Commented out (not required for website type)
  • Action needed: If this component belongs to a larger system/product area, uncomment and specify the system name
  • Reference: See system definitions or contact Platform Engineering to create a new system
  • Note: This field is optional for website type components

Please Review

Before merging, please verify:

  • Component description (Line 8): Accurately reflects the purpose of this component
  • Technology tags (Lines 11-18): Complete and accurate for your tech stack
  • Lifecycle state (Line 48): Correctly set to experimental (sample/demo application)
    • Change to production if this is a production service
    • Change to deprecated if scheduled for retirement

Additional Optional Fields

Consider adding if applicable:

  • Production URL (Line 25): Uncomment and add if deployed to staging/production
  • Monitoring dashboard (Line 28): Add Grafana/Datadog dashboard links
  • PagerDuty service (Line 35): Add PagerDuty service ID for on-call rotation
  • Dependencies (Lines 65-68): Uncomment and specify component dependencies

Once you've completed the required field (spec.owner) and reviewed the automated fields, this component will be fully compliant with RFC-2024-023 and ready to merge! 🎉

@loujaybee loujaybee closed this Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant