Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Add catalog-info.yaml #1

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

oura-backstage[bot]
Copy link

Task: Add Catalog Entities to Backstage

This is an automatically generated pull request which adds a catalog-info.yaml file to the repository. This file is used by Backstage to read catalog entities into its Software Catalog.

What are Backstage or its Software Catalog?

Backstage is the developer portal of our choosing. The Software Catalog is like an interactive directory inside Backstage of everything we’ve built, are building, or depend on. Each component — whether it’s a microservice, a library, or even documentation — has a standardized record in the catalog. This provides clear visibility into who owns what, how it’s connected, where it’s deployed, and so on. Navigate to ŌURA Backstage to check it out!

To read more about Backstage and the Software Catalog, check out its documentation from (where else than) Backstage. Authentication happens with GitHub credentials, so anyone with permissions to jouzen GitHub organization has access to Backstage as well.

Required Steps

Before merging this pull request, please fill in the catalog-info.yaml with correct details matching this repositories entities.

Describing Entities

To understand how the entities should be described into the file you can take a peak into Backstage's documentation about Software Catalog's System Model. In general, entities in common repositories can almost always be referenced as one of

  • Component - A piece of software. A single repository usually holds one or more. Can implement APIs for other components to consume.
  • API - External interfaces for software. Entry should include the OpenAPI definition as well.
  • Resource - Infrastructure a component needs to operate at runtime, such as datastores and clusters.
  • System - One of ŌURA's defined Systems. Only one definition per system is needed, so each repository related to a system shouldn't define it separately.

Since you, as the owner(s) of this repository, know best what's in it, please modify the newly added catalog-info.yaml to include whatever catalog items the repository contains. Then, merge it to the main branch for Backstage to find it.

Validating Entities

There are two easy ways to validate that the written catalog-info.yaml is valid:

  1. Manual validation - Copy and paste the files contents to the Entity Validator, click on Validate, and see the results.
  2. Validation in CI - Add a step to your GitHub Actions workflow to validate the file automatically:
    - name: Validate Catalog Entities
      uses: RoadieHQ/backstage-entity-validator@d39db2335a810aed3175c5ba9b86b89b7c7286c1 # v0.5.0
      with:
        path: 'catalog-info.yaml'

Examples

Many repositories have already implemented entities to a catalog-info.yaml. Here's a couple of good examples to use when trying to figure out what to put into the file:

Ignore the Pull Request

It might be that this pull request does not concern this specific repository. For example, if the repository contents do not link to any service that anyone else is using, the repository was created for testing purposes, or something similar. In this case, you can safely ignore and close the pull request.

However, if you don't want to see one of these pull requests in the future either, leave the branch intact. Mere existance of the branch will tell us to skip this repository.

Questions?

Any questions can be addressed to the SRE Squad. Don't hesitate to ask anything that's on your mind.

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.

0 participants