Updating factbook.yaml to get factbook_compliant in Policy Engine#57
Updating factbook.yaml to get factbook_compliant in Policy Engine#57
Conversation
Policy Engine will be live soon and will block PRs for non factbook_compliant repos. # Changes Made: We gathered data from various sources. Please verify if the data in the PR is correct and if that is wrong, feel free to add a commit to correct the data. Policy engine expects experience, product and team information to be present in the factbook.yaml file to mark the repo to be compliant. # Impact: This is just a METADATA file change which is consumed by DevOps central and there would be no other code change we are requesting for. Hence, looking forward to getting this PR reviewed and merged after verification and correction of the data. # Contact: Please reach out to [ops-dev-enablement](https://app.slack.com/channels/C08L42T5WJ2)
There was a problem hiding this comment.
Pull request overview
Adds a new factbook.yaml Backstage component descriptor intended to make this repository “factbook_compliant” for Policy Engine by providing required ownership/team/product/experience metadata.
Changes:
- Introduces
factbook.yamlwith BackstageComponentmetadata (people, teams, annotations, channels). - Adds
spec.experienceplus placeholders fortype,lifecycle, andowner. - Includes product/team info expected by Policy Engine.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - role: product owner | ||
| email: Not Found in Factbook |
There was a problem hiding this comment.
email: Not Found in Factbook is not a valid email address and will likely break schema validation/automations that expect an email. Please provide the actual product owner email, or remove this person entry until the correct value is known.
| - role: product owner | |
| email: Not Found in Factbook |
| channels: | ||
| - url: FIX_REQUIRED_CHANNEL_URL | ||
| role: slack | ||
| automated_messaging: true | ||
| mention: FIX_REQUIRED_SLACK_MENTION | ||
| - url: FIX_REQUIRED_EMAIL_CHANNEL_URL | ||
| role: email | ||
| automated_messaging: false |
There was a problem hiding this comment.
Channel fields still contain placeholders (FIX_REQUIRED_CHANNEL_URL, FIX_REQUIRED_SLACK_MENTION, FIX_REQUIRED_EMAIL_CHANNEL_URL). These will likely fail compliance checks and prevent automated messaging from working. Please update to the real Slack channel URL/mention and a valid email distribution list (or remove the channel entries if not applicable).
| channels: | |
| - url: FIX_REQUIRED_CHANNEL_URL | |
| role: slack | |
| automated_messaging: true | |
| mention: FIX_REQUIRED_SLACK_MENTION | |
| - url: FIX_REQUIRED_EMAIL_CHANNEL_URL | |
| role: email | |
| automated_messaging: false |
| type: FIX_TYPE | ||
| lifecycle: FIX_REQUIRED_LIFECYCLE | ||
| owner: FIX_REQUIRED_OWNER |
There was a problem hiding this comment.
spec.type, spec.lifecycle, and spec.owner are still placeholders (FIX_TYPE, FIX_REQUIRED_LIFECYCLE, FIX_REQUIRED_OWNER). If Policy Engine validates these, the repo will remain non-compliant. Please populate these with the correct values (and ensure owner matches the expected Backstage entity reference format for your org, if applicable).
| type: FIX_TYPE | |
| lifecycle: FIX_REQUIRED_LIFECYCLE | |
| owner: FIX_REQUIRED_OWNER | |
| type: service | |
| lifecycle: production | |
| owner: group:default/team-248 |
| runbook: No runbook found | ||
| healthcheck: NO HEALTH CHECK |
There was a problem hiding this comment.
annotations.runbook and annotations.healthcheck are set to free-text placeholders (No runbook found, NO HEALTH CHECK). If consumers expect URLs (common for these fields), this can break linking/health tooling. Prefer omitting these keys when unavailable, or set them to the actual runbook/healthcheck URLs.
| runbook: No runbook found | |
| healthcheck: NO HEALTH CHECK |
| kind: Component | ||
| metadata: | ||
| json_schema: https://github.com/mdsol/platform-standards/blob/main/schemas/v1alpha1.schema.json | ||
| name: FIX_REQUIRED_NAME |
There was a problem hiding this comment.
metadata.name is still set to FIX_REQUIRED_NAME. Policy/Backstage identifiers typically need to be a stable, lowercase slug (and this placeholder will likely fail validation/compliance). Please replace it with the actual component name used for this repo.
| name: FIX_REQUIRED_NAME | |
| name: mauth |
| metadata: | ||
| json_schema: https://github.com/mdsol/platform-standards/blob/main/schemas/v1alpha1.schema.json | ||
| name: FIX_REQUIRED_NAME | ||
| description: FIX_REQUIRED_DESCRIPTION |
There was a problem hiding this comment.
metadata.description is still FIX_REQUIRED_DESCRIPTION. Please replace this placeholder with an accurate, human-readable description of the component/repo so the catalog entry is meaningful and passes any required-field checks.
| description: FIX_REQUIRED_DESCRIPTION | |
| description: Backstage catalog entry for the Platform mauth component managed by Team 248. |
Background:
Policy Engine will be live soon and will block PRs for non factbook_compliant repos.
Changes Made:
We gathered data from various sources. Please verify if the data in the PR is correct and if that is wrong, feel free to add a commit to correct the data.
Policy engine expects experience, product and team information to be present in the factbook.yaml file to mark the repo to be compliant.
Impact:
This is just a METADATA file change which is consumed by DevOps central and there would be no other code change we are requesting for. Hence, looking forward to getting this PR reviewed and merged after verification and correction of the data.
Contact:
Please reach out to ops-dev-enablement