This repository contains the configuration resources for the stuttgart-things Backstage Internal Developer Portal. It provides catalog entities, software templates, and deployment configurations that power the developer experience.
| Directory | Description | Contents |
|---|---|---|
instances/ |
Deployment configurations | SOPS-encrypted Helmfile values |
org/ |
Organization structure | Users, Groups, Teams |
services/ |
Service catalog | Location references to external repos |
templates/ |
Software templates | Scaffolding for new projects |
Organization - Users & Groups
Defines the organizational structure for Backstage catalog.
| User | Member Of |
|---|---|
guest |
guests |
patrick-hermann-sva |
guests |
sina-schlatter |
guests |
| Group | Type | Description |
|---|---|---|
guests |
team | Default group for all users |
platform-team |
team | Platform Engineering Team |
Service Catalog - Registered Services
Contains catalog location references that register external services.
| Service | Repository | Description |
|---|---|---|
| claim-machinery-api | GitHub | Crossplane claim rendering API |
| sthings-backstage | GitHub | Backstage application |
| blueprints | GitHub | Infrastructure blueprints |
| Location | Description |
|---|---|
| claim-machinery-templates | Claim Machinery software templates |
| terraform-dagger-templates | Terraform and Dagger software templates |
Software Templates - Project Scaffolding
| Template | Tags | Owner | Description |
|---|---|---|---|
| claim-to-pull-request | crossplane, kubernetes, infrastructure, gitops, claims |
platform-team | Create Crossplane resource claims via GitHub Pull Requests |
| golang-service | golang, service, recommended |
platform-team | Scaffold new Go services with GitHub repository and CI/CD |
Creates a GitHub Pull Request with a rendered Crossplane claim manifest.
| Parameter | Required | Description |
|---|---|---|
claimTemplate |
Yes | Claim Machinery template to render |
claimName |
Yes | Name for the claim resource |
repoUrl |
Yes | Target GitHub repository |
targetPath |
Yes | Path where manifest will be stored |
Scaffolds a complete Go service with repository setup.
| Parameter | Required | Default | Description |
|---|---|---|---|
name |
Yes | - | Service name (lowercase, hyphens) |
description |
Yes | - | Brief description |
owner |
Yes | - | Owning group |
repoUrl |
Yes | github.com?owner=stuttgart-things | Repository location |
visibility |
No | public | Repository visibility |
goVersion |
No | 1.24 | Go version (1.22, 1.23, 1.24) |
Instance Configuration - Deployment
SOPS-encrypted Helmfile configurations for deploying Backstage instances.
| Instance | File | Description |
|---|---|---|
| dev | dev.enc.yaml |
Development environment configuration |
Task Runner
# List available tasks
task --list
# Interactive task selection
task do| Task | Description |
|---|---|
do |
Interactive task selector using gum |
git:* |
Git-related tasks (imported) |
lint:* |
Linting tasks (imported) |
Secrets Management
# Decrypt configuration
sops --decrypt instances/dev.enc.yaml > instances/dev.yaml
# Deploy with Helmfile
helmfile apply -f instances/dev.yaml
# Encrypt after changes
sops --encrypt instances/dev.yaml > instances/dev.enc.yaml| Command | Description |
|---|---|
sops --decrypt |
Decrypt SOPS-encrypted file |
sops --encrypt |
Encrypt file with SOPS |
helmfile apply |
Deploy using Helmfile |
See LICENSE for details.
