diff --git a/plugins/scaffolder-backend/sample-templates/react-ssr-template/cookiecutter.json b/plugins/scaffolder-backend/sample-templates/react-ssr-template/cookiecutter.json deleted file mode 100644 index bc6e4b5347..0000000000 --- a/plugins/scaffolder-backend/sample-templates/react-ssr-template/cookiecutter.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "_copy_without_render": [".github/workflows/*"] -} diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/cookiecutter.json b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/cookiecutter.json deleted file mode 100644 index d662b6f46b..0000000000 --- a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/cookiecutter.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "component_id": "", - "artifact_id": "{{ cookiecutter.component_id }}", - "java_package_name": "{{ cookiecutter.component_id|replace('-', '') }}", - "description": "We promise to update this description /{{cookiecutter.owner}}", - "http_port": 8080 -} diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/.editorconfig b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/.editorconfig similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/.editorconfig rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/.editorconfig diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/.github/workflows/build.yml b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/.github/workflows/build.yml similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/.github/workflows/build.yml rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/.github/workflows/build.yml diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/.gitignore b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/.gitignore similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/.gitignore rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/.gitignore diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/Dockerfile b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/Dockerfile similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/Dockerfile rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/Dockerfile diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/README.md b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/README.md similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/README.md rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/README.md diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/SERVICE.marker b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/SERVICE.marker similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/SERVICE.marker rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/SERVICE.marker diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/catalog-info.yaml b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/catalog-info.yaml similarity index 51% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/catalog-info.yaml rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/catalog-info.yaml index 02a8a7adf2..61e850255c 100644 --- a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/catalog-info.yaml +++ b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/catalog-info.yaml @@ -4,8 +4,8 @@ metadata: name: {{cookiecutter.component_id | jsonify}} description: {{cookiecutter.description | jsonify}} annotations: - github.com/project-slug: {{cookiecutter.destination.git.owner + "/" + cookiecutter.destination.git.name}} - backstage.io/techdocs-ref: url:{{cookiecutter.storePath}} + github.com/project-slug: {{cookiecutter.destination.owner + "/" + cookiecutter.destination.repo}} + backstage.io/techdocs-ref: url:{{cookiecutter.destination.host + "/" + cookiecutter.destination.owner + "/" + cookiecutter.destination.repo}} spec: type: service lifecycle: experimental diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/docs/index.md b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/docs/index.md similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/docs/index.md rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/docs/index.md diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/mkdocs.yml b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/mkdocs.yml similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/mkdocs.yml rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/mkdocs.yml diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/pom.xml b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/pom.xml similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/pom.xml rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/pom.xml diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/main/java/com/example/{{cookiecutter.java_package_name}}/Application.java b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/main/java/com/example/{{cookiecutter.java_package_name}}/Application.java similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/main/java/com/example/{{cookiecutter.java_package_name}}/Application.java rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/main/java/com/example/{{cookiecutter.java_package_name}}/Application.java diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/main/java/com/example/{{cookiecutter.java_package_name}}/GreeterService.java b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/main/java/com/example/{{cookiecutter.java_package_name}}/GreeterService.java similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/main/java/com/example/{{cookiecutter.java_package_name}}/GreeterService.java rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/main/java/com/example/{{cookiecutter.java_package_name}}/GreeterService.java diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/main/resources/application.properties b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/main/resources/application.properties similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/main/resources/application.properties rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/main/resources/application.properties diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/main/resources/banner.txt b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/main/resources/banner.txt similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/main/resources/banner.txt rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/main/resources/banner.txt diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/main/resources/greeter.proto b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/main/resources/greeter.proto similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/main/resources/greeter.proto rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/main/resources/greeter.proto diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/test/java/com/example/{{cookiecutter.java_package_name}}/ApplicationTest.java b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/test/java/com/example/{{cookiecutter.java_package_name}}/ApplicationTest.java similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/src/test/java/com/example/{{cookiecutter.java_package_name}}/ApplicationTest.java rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/src/test/java/com/example/{{cookiecutter.java_package_name}}/ApplicationTest.java diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/{{cookiecutter.artifact_id}}.sh b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/{{cookiecutter.artifact_id}}.sh similarity index 100% rename from plugins/scaffolder-backend/sample-templates/springboot-grpc-template/{{cookiecutter.component_id}}/{{cookiecutter.artifact_id}}.sh rename to plugins/scaffolder-backend/sample-templates/springboot-grpc-template/skeleton/{{cookiecutter.artifact_id}}.sh diff --git a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/template.yaml b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/template.yaml index 8b89298a0e..d17c736382 100644 --- a/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/template.yaml +++ b/plugins/scaffolder-backend/sample-templates/springboot-grpc-template/template.yaml @@ -1,4 +1,4 @@ -apiVersion: backstage.io/v1alpha1 +apiVersion: backstage.io/v1beta2 kind: Template metadata: name: springboot-template @@ -10,24 +10,74 @@ metadata: - grpc spec: owner: service@example.com - templater: cookiecutter type: service - path: '.' - schema: - required: - - component_id - - description - properties: - component_id: - title: Name - type: string - description: Unique name of the component - description: - title: Description - type: string - description: Help others understand what this service does. - http_port: - title: Port - type: integer - default: 8080 - description: The port to run the gRPC service on + + parameters: + - title: Provide some simple information + required: + - component_id + - owner + properties: + component_id: + title: Name + type: string + description: Unique name of the component + description: + title: Description + type: string + description: Help others understand what this website is for. + owner: + title: Owner + type: string + description: Owner of the component + ui:field: OwnerPicker + ui:options: + allowedKinds: + - Group + - title: Choose a location + required: + - repoUrl + properties: + repoUrl: + title: Repository Location + type: string + ui:field: RepoUrlPicker + ui:options: + allowedHosts: + - github.com + + steps: + - id: template + name: Fetch Skeleton + Template + action: fetch:cookiecutter + input: + url: ./skeleton + copyWithoutRender: + - .github/workflows/* + values: + component_id: '{{ parameters.component_id }}' + description: '{{ parameters.description }}' + artifact_id: '{{ parameters.component_id }}' + java_package_name: \{{ cookiecutter.component_id|replace('-', '') }} + owner: '{{ parameters.owner }}' + destination: '{{ parseRepoUrl parameters.repoUrl }}' + http_port: 8080 + + - id: publish + name: Publish + action: publish:github + input: + allowedHosts: ['github.com'] + description: 'This is {{ parameters.component_id }}' + repoUrl: '{{ parameters.repoUrl }}' + + - id: register + name: Register + action: catalog:register + input: + repoContentsUrl: '{{ steps.publish.output.repoContentsUrl }}' + catalogInfoPath: '/catalog-info.yaml' + + output: + remoteUrl: '{{ steps.publish.output.remoteUrl }}' + entityRef: '{{ steps.register.output.entityRef }}'