Backstage Software Templates (Internal)
7KGroup Maintainers Only
The Backstage instance is only accessible to 7KGroup representatives. Community members request new charts by opening a Chart Request issue on GitHub.
Hiroba uses Backstage Software Templates internally to scaffold new application repositories when a chart request is approved.
How It Works
- A community member opens a Chart Request issue on GitHub
- A 7KGroup maintainer reviews, evaluates and approves the request
- The maintainer opens the Backstage portal and selects "Application Template"
- They fill in parameters based on the issue:
- Application info — name, description
- Deployment config — container port, ingress hostname
- Platform dependencies — toggle Postgres, S3, Keycloak, etc
- Repository — where to publish on GitHub
- Backstage scaffolds the repo:
- Fetches the skeleton and renders
${{ values.* }}placeholders - Publishes to GitHub
- Registers the new component in the Backstage catalog
- Fetches the skeleton and renders
- The maintainer links the new repo back to the original issue
Template Structure
templates/app-template/
├── template.yaml # Backstage template definition
└── skeleton/ # Files that get scaffolded
├── README.md
├── Dockerfile
├── catalog-info.yaml # Backstage catalog entry
├── mkdocs.yml # TechDocs config
├── helm/
│ ├── base/ # Standard k8s Helm chart
│ └── platform/ # Platform dependencies chart
├── crossplane/ # App-specific XRDs & Compositions
├── docs/ # Documentation
└── .github/workflows/ # CI/CD referencing workflow-library
Template Parameters
The template.yaml defines four parameter groups:
| Group | Fields | Purpose |
|---|---|---|
| Application Info | name, description, owner | Identity and ownership |
| Deployment Config | port, enableIngress, hostname | How the app is exposed |
| Platform Dependencies | enablePostgres, enableS3, enableKeycloak | What infra to provision |
| Repository | repoUrl | Where to publish |
CI/CD Integration
Scaffolded workflows reference the centralized 7K-Hiroba/workflows-library:
jobs:
build:
uses: 7K-Hiroba/workflows-library/.github/workflows/build.yml@v1
with:
image-name: ghcr.io/7kgroup/my-app
secrets: inherit
This ensures all applications share consistent build, test, and release pipelines.