2026-03-07 07:46:30 +00:00
|
|
|
apiVersion: scaffolder.backstage.io/v1beta3
|
|
|
|
|
kind: Template
|
|
|
|
|
metadata:
|
|
|
|
|
name: new-resource-template
|
|
|
|
|
title: Neue Resource anlegen
|
|
|
|
|
description: Erstellt eine neue Resource-YAML für das Home-Lab (z.B. Raspberry Pi, NAS).
|
|
|
|
|
spec:
|
|
|
|
|
owner: admin
|
|
|
|
|
type: service
|
|
|
|
|
|
|
|
|
|
# Hier definierst du die Eingabemelder der UI
|
|
|
|
|
parameters:
|
|
|
|
|
- title: Basis-Informationen
|
|
|
|
|
required: [name, owner]
|
|
|
|
|
properties:
|
|
|
|
|
name:
|
|
|
|
|
title: Name
|
|
|
|
|
type: string
|
|
|
|
|
description: Eindeutiger Name der Resource (z.B. raspberry-pi-5)
|
|
|
|
|
description:
|
|
|
|
|
title: Beschreibung
|
|
|
|
|
type: string
|
|
|
|
|
description: Wofür wird das Gerät genutzt?
|
|
|
|
|
owner:
|
|
|
|
|
title: Owner
|
|
|
|
|
type: string
|
|
|
|
|
default: admin
|
|
|
|
|
description: Wer ist verantwortlich?
|
|
|
|
|
system:
|
|
|
|
|
title: System
|
|
|
|
|
type: string
|
|
|
|
|
default: home-lab
|
|
|
|
|
description: Zu welchem System gehört es?
|
|
|
|
|
netbox_name:
|
|
|
|
|
title: NetBox Name
|
|
|
|
|
type: string
|
|
|
|
|
description: Exakter Name in NetBox für die API-Verknüpfung
|
|
|
|
|
|
|
|
|
|
# Hier definierst du, was nach dem Klick auf "Create" passiert
|
|
|
|
|
steps:
|
|
|
|
|
- id: fetch-base
|
2026-03-07 07:58:45 +00:00
|
|
|
name: Vorlage laden
|
2026-03-07 07:46:30 +00:00
|
|
|
action: fetch:template
|
|
|
|
|
input:
|
|
|
|
|
url: ./skeleton
|
|
|
|
|
values:
|
|
|
|
|
name: ${{ parameters.name }}
|
|
|
|
|
description: ${{ parameters.description }}
|
|
|
|
|
owner: ${{ parameters.owner }}
|
|
|
|
|
system: ${{ parameters.system }}
|
|
|
|
|
netbox_name: ${{ parameters.netbox_name }}
|
|
|
|
|
|
|
|
|
|
- id: publish
|
2026-03-07 07:58:45 +00:00
|
|
|
name: In Gitea veröffentlichen
|
2026-03-07 07:46:30 +00:00
|
|
|
action: publish:gitea
|
|
|
|
|
input:
|
|
|
|
|
allowedHosts: ['privat.stommer.com:555']
|
2026-03-07 07:58:45 +00:00
|
|
|
description: "Anlage Ressource und Dokumentation: ${{ parameters.name }}"
|
2026-03-07 07:46:30 +00:00
|
|
|
repoUrl: "privat.stommer.com?owner=Lars&repo=home-lab-catalog"
|
|
|
|
|
branchName: main
|
2026-03-07 07:58:45 +00:00
|
|
|
# FIX: Hier legen wir den Zielpfad fest
|
|
|
|
|
targetPath: 'landscape/resources/${{ parameters.name }}'
|
2026-03-07 07:46:30 +00:00
|
|
|
|
|
|
|
|
- id: register
|
|
|
|
|
name: Im Katalog registrieren
|
|
|
|
|
action: catalog:register
|
|
|
|
|
input:
|
|
|
|
|
repoContentsUrl: ${{ steps['publish'].output.repoContentsUrl }}
|
2026-03-07 07:58:45 +00:00
|
|
|
# Verweist auf die Datei im neuen Unterordner
|
|
|
|
|
catalogInfoPath: '/catalog-info.yaml'
|