Skip to content

Conversation

@loujaybee
Copy link

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

Changes Made

  • ✅ Created catalog-info.yaml with automated fields
  • ✅ 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 (full-stack web application with React frontend)
  • Lifecycle: production (actively maintained, last commit Nov 10, 2025)
  • Description: Educational full-stack portfolio management application for learning Gitpod and dev containers
  • Technology tags: javascript, website, internal, education, react, nodejs, vite, express
  • Links: GitHub repository and workshop guide
  • Annotations: GitHub project slug

Requires Manual Review

⚠️ The following fields require human input before merging:

  1. spec.owner: Please specify the team responsible for this component

    • Format: team:team-name
    • Suggested: team:developer-experience or team:education
    • Must match team identifiers in Backstage catalog
  2. spec.system (optional): Please specify which system/product this component belongs to

    • Format: system-name
    • Suggested: developer-education or training-platform
    • Currently commented out - uncomment if applicable
  3. Review all automated fields for accuracy

Validation

Passed Backstage entity validation

Validated entity kind 'component' successfully.
Entity Schema policies validated

RFC Compliance

This change satisfies the requirements of RFC-2024-023:

  • ✅ File located at repository root
  • ✅ Proper Backstage catalog format (apiVersion: backstage.io/v1alpha1)
  • ✅ All required fields present
  • ✅ Valid YAML syntax
  • ✅ Automated fields populated where possible
  • ✅ Clear TODO comments for manual fields

Action Required: Please update the spec.owner field with the correct team identifier before merging.

Add catalog-info.yaml to comply with Backstage catalog standardization
requirements defined in RFC-2024-023.

Automated fields populated:
- Component type: website (full-stack web application)
- Lifecycle: production (actively maintained)
- Technology tags: javascript, react, nodejs, vite, express
- Description derived from repository purpose
- Links to GitHub repository and workshop guide

Manual review required:
- spec.owner: Team identifier needs to be specified
- spec.system: Optional system assignment for discoverability

Validation: Passed @roadiehq/backstage-entity-validator

Co-authored-by: Ona <no-reply@ona.com>
@loujaybee
Copy link
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 51)

  • Current: team:REPLACE_WITH_TEAM_NAME
  • Action needed: Replace with your team identifier (e.g., team:platform-engineering, team:developer-experience, or team:education)
  • 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 58) - Optional but Recommended

  • Current: Commented out with REPLACE_WITH_SYSTEM_NAME
  • Action needed: Uncomment and specify which product/system this component belongs to (e.g., developer-education, training-platform, gitpod-samples)
  • Reference: See system definitions or contact Platform Engineering to create a new system
  • Note: Optional for website components but improves discoverability

Please Review

  • Component description (Line 8): Verify it accurately reflects the purpose
  • Technology tags (Lines 14-21): Confirm the tags are complete and accurate
  • Lifecycle state (Line 48): Ensure production is correct (alternatives: experimental, deprecated)
  • Links (Lines 25-29): Verify URLs are correct and accessible

Once you've completed these items, 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.

2 participants