📦 Add Backstage Files to Your Service

Follow these steps to integrate Backstage support into your service repository. https://backstage.io/docs/overview/what-is-backstage


1. Upgrade ngss-maven-tiles

Update your ngss-maven-tiles version to 2.8.0. The property name must be 'ngss-maven-tiles' or when executed, the generation of the backstage files will be skipped. Make sure you’re using the correct version property:

<properties>
  <ngss-maven-tiles.version>2.8.0</ngss-maven-tiles.version>
</properties>

2. 🛠 Initialize Backstage Files

Run the following command:

mvn filegen:init-backstage-files -Dbackstage.user=jim -Dbackstage.contract=ckm
You must have the new filegen plugin group - gov.va.mobile.tools, configured in your Maven settings.xml (see Maven Configuration)

Replace jim with the Product Owner’s username, and update ckm to reflect the correct contract name.

Once run, you should see new Backstage files added to your repo.

3. 🛠 Add tile to service pom.xml

<tile>gov.va.mobile.tools.maven:backstage-tile:${ngss-maven-tiles.version}</tile>

4. 🛠 Update the POs name in the docs/owners.md

| **Developer**      |     SET ME      |             SET ME              |

5. 🛠 Add Additional Files and Configurations

The file generation does not know what the service depends on or what APIs it uses. Therefore you must add additional apis to the catalog-info.yaml if your service is leveraging other service apis. When that is the case, you must update the catalog-info.yaml to reference the additional apis your service uses. Reference backstage documentation for additional details.

6. 🛠 Execute a build

skaffold dev or mvn clean install -Pwith-skaffold

7. ✅ Commit & Push Changes

Don’t forget to stage, commit, and push your changes:

git add .
git commit -m "Add Backstage files"
git push origin <your-branch-name>