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 name: Template Dateien laden 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 name: In Gitea speichern action: publish:gitea input: allowedHosts: ['privat.stommer.com:555'] description: "Neue Resource: ${{ parameters.name }}" repoUrl: "privat.stommer.com?owner=Lars&repo=home-lab-catalog" branchName: main - id: register name: Im Katalog registrieren action: catalog:register input: repoContentsUrl: ${{ steps['publish'].output.repoContentsUrl }} catalogInfoPath: '/landscape/resources/${{ parameters.name }}.yaml'