refactor(catalog): update domain and system discovery rules#369
Conversation
Mirgrates domains and systems to to the software-templates repo
There was a problem hiding this comment.
Code Review
This pull request migrates the Backstage catalog from static file locations to dynamic discovery for domains and systems using the GitHub provider, involving the removal of numerous static YAML definitions. Feedback indicates that the production configuration's global provider rules are missing essential entity types like Component and API, which could lead to ingestion failures. Additionally, the discovery rules for domains and systems are considered overly permissive and should be restricted to exclude Template entities to follow the principle of least privilege.
7fd56ef to
348d54d
Compare
There was a problem hiding this comment.
Pull request overview
This PR migrates BITS Domain and System catalog entities out of this Backstage repo and switches production catalog ingestion to discover those entities from the broadinstitute/software-templates repository instead.
Changes:
- Remove locally-defined BITS
DomainandSystementity YAMLs (and their aggregatingLocationYAMLs). - Update production catalog provider configuration to discover domains/systems from
software-templates. - Allow
Domainkind in the basecatalog.rulesallowlist.
Reviewed changes
Copilot reviewed 34 out of 34 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| backstage/templates/BITS/systems/web-redirects.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/seqprod.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/scisoft.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/sap.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/pkgbuilder.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/pagerduty.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/network-access.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/kubernetes.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/hpc-drag.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/hpc-comm.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/github.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/gcp.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/data-transfer.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems/aws.yaml | Removes local System entity (migrated to software-templates). |
| backstage/templates/BITS/systems.yaml | Removes local aggregate Location that referenced BITS system YAMLs. |
| backstage/templates/BITS/domains/web-hosting.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/virtualization.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/server-operating-systems.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/scientific-software.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/platform-eng.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/paas.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/orchestration.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/monitoring.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/infrastructure-tools.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/hpc.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/erp.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/containers.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/config-mgmt.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/cloud.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/ci-cd.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains/automation.yaml | Removes local Domain entity (migrated to software-templates). |
| backstage/templates/BITS/domains.yaml | Removes local aggregate Location that referenced BITS domain YAMLs. |
| backstage/app-config.yaml | Adds Domain to the base catalog.rules allowlist. |
| backstage/app-config.production.yaml | Removes local file-based locations for domains/systems and adds GitHub-based discovery for domains/systems in software-templates. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
b66c800 to
e6a1867
Compare
Mirgrates domains and systems to to the software-templates repo