From e5d9184fb172cd0e2cbf7a00747aaba88ad6d0b1 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 3 May 2022 12:20:35 +0200 Subject: [PATCH] create-app: slim down example data Signed-off-by: Patrik Oldsberg --- .../templates/default-app/examples/README.md | 4 - .../default-app/examples/acme-corp.yaml | 8 - .../examples/acme/backstage-group.yaml | 13 - .../examples/acme/boxoffice-group.yaml | 13 - .../examples/acme/infrastructure-group.yaml | 10 - .../default-app/examples/acme/org.yaml | 32 - .../examples/acme/team-a-group.yaml | 60 - .../examples/acme/team-b-group.yaml | 68 - .../examples/acme/team-c-group.yaml | 68 - .../examples/acme/team-d-group.yaml | 35 - .../default-app/examples/all-apis.yaml | 14 - .../default-app/examples/all-components.yaml | 20 - .../default-app/examples/all-domains.yaml | 9 - .../default-app/examples/all-resources.yaml | 8 - .../default-app/examples/all-systems.yaml | 10 - .../default-app/examples/all-templates.yaml | 8 - .../examples/apis/hello-world-api.yaml | 48 - .../examples/apis/petstore-api.yaml | 131 -- .../examples/apis/spotify-api.yaml | 17 - .../examples/apis/streetlights-api.yaml | 225 ---- .../examples/apis/swapi-graphql.yaml | 1180 ----------------- .../examples/apis/wayback-archive-api.yaml | 11 - .../examples/apis/wayback-search-api.yaml | 11 - .../components/artist-lookup-component.yaml | 37 - .../components/petstore-component.yaml | 18 - .../components/playback-lib-component.yaml | 10 - .../components/playback-order-component.yaml | 13 - .../components/podcast-api-component.yaml | 12 - .../components/queue-proxy-component.yaml | 13 - .../components/shuffle-api-component.yaml | 12 - .../components/wayback-archive-component.yaml | 11 - .../wayback-archive-ingestion-component.yaml | 10 - .../wayback-archive-storage-component.yaml | 10 - .../components/wayback-search-component.yaml | 13 - .../components/www-artist-component.yaml | 11 - .../examples/domains/artists-domain.yaml | 13 - .../examples/domains/playback-domain.yaml | 7 - .../default-app/examples/entities.yaml | 40 + .../resources/artists-db-resource.yaml | 9 - .../artist-engagement-portal-system.yaml | 10 - .../systems/audio-playback-system.yaml | 8 - .../examples/systems/podcast-system.yaml | 8 - .../content/catalog-info.yaml} | 7 +- .../examples/template/content/index.js | 2 + .../examples/template/content/package.json | 5 + .../examples/template/template.yaml | 65 + .../create-react-app/skeleton/README.md | 46 - .../skeleton/catalog-info.yaml | 14 - .../create-react-app/skeleton/docs/index.md | 28 - .../create-react-app/skeleton/mkdocs.yml | 8 - .../create-react-app/skeleton/package.json | 43 - .../skeleton/public/favicon.ico | Bin 3870 -> 0 bytes .../skeleton/public/index.html | 43 - .../skeleton/public/logo192.png | Bin 5347 -> 0 bytes .../skeleton/public/logo512.png | Bin 9664 -> 0 bytes .../skeleton/public/manifest.json | 25 - .../skeleton/public/robots.txt | 3 - .../create-react-app/skeleton/src/App.css | 38 - .../skeleton/src/App.test.tsx | 9 - .../create-react-app/skeleton/src/App.tsx | 26 - .../create-react-app/skeleton/src/index.css | 13 - .../create-react-app/skeleton/src/index.tsx | 17 - .../create-react-app/skeleton/src/logo.svg | 1 - .../skeleton/src/react-app-env.d.ts | 1 - .../skeleton/src/reportWebVitals.ts | 15 - .../skeleton/src/setupTests.ts | 5 - .../create-react-app/skeleton/tsconfig.json | 26 - .../templates/create-react-app/template.yaml | 83 -- 68 files changed, 114 insertions(+), 2677 deletions(-) delete mode 100644 packages/create-app/templates/default-app/examples/README.md delete mode 100644 packages/create-app/templates/default-app/examples/acme-corp.yaml delete mode 100644 packages/create-app/templates/default-app/examples/acme/backstage-group.yaml delete mode 100644 packages/create-app/templates/default-app/examples/acme/boxoffice-group.yaml delete mode 100644 packages/create-app/templates/default-app/examples/acme/infrastructure-group.yaml delete mode 100644 packages/create-app/templates/default-app/examples/acme/org.yaml delete mode 100644 packages/create-app/templates/default-app/examples/acme/team-a-group.yaml delete mode 100644 packages/create-app/templates/default-app/examples/acme/team-b-group.yaml delete mode 100644 packages/create-app/templates/default-app/examples/acme/team-c-group.yaml delete mode 100644 packages/create-app/templates/default-app/examples/acme/team-d-group.yaml delete mode 100644 packages/create-app/templates/default-app/examples/all-apis.yaml delete mode 100644 packages/create-app/templates/default-app/examples/all-components.yaml delete mode 100644 packages/create-app/templates/default-app/examples/all-domains.yaml delete mode 100644 packages/create-app/templates/default-app/examples/all-resources.yaml delete mode 100644 packages/create-app/templates/default-app/examples/all-systems.yaml delete mode 100644 packages/create-app/templates/default-app/examples/all-templates.yaml delete mode 100644 packages/create-app/templates/default-app/examples/apis/hello-world-api.yaml delete mode 100644 packages/create-app/templates/default-app/examples/apis/petstore-api.yaml delete mode 100644 packages/create-app/templates/default-app/examples/apis/spotify-api.yaml delete mode 100644 packages/create-app/templates/default-app/examples/apis/streetlights-api.yaml delete mode 100644 packages/create-app/templates/default-app/examples/apis/swapi-graphql.yaml delete mode 100644 packages/create-app/templates/default-app/examples/apis/wayback-archive-api.yaml delete mode 100644 packages/create-app/templates/default-app/examples/apis/wayback-search-api.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/artist-lookup-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/petstore-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/playback-lib-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/playback-order-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/podcast-api-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/queue-proxy-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/shuffle-api-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/wayback-archive-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/wayback-archive-ingestion-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/wayback-archive-storage-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/wayback-search-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/components/www-artist-component.yaml delete mode 100644 packages/create-app/templates/default-app/examples/domains/artists-domain.yaml delete mode 100644 packages/create-app/templates/default-app/examples/domains/playback-domain.yaml create mode 100644 packages/create-app/templates/default-app/examples/entities.yaml delete mode 100644 packages/create-app/templates/default-app/examples/resources/artists-db-resource.yaml delete mode 100644 packages/create-app/templates/default-app/examples/systems/artist-engagement-portal-system.yaml delete mode 100644 packages/create-app/templates/default-app/examples/systems/audio-playback-system.yaml delete mode 100644 packages/create-app/templates/default-app/examples/systems/podcast-system.yaml rename packages/create-app/templates/default-app/examples/{components/searcher-component.yaml => template/content/catalog-info.yaml} (55%) create mode 100644 packages/create-app/templates/default-app/examples/template/content/index.js create mode 100644 packages/create-app/templates/default-app/examples/template/content/package.json create mode 100644 packages/create-app/templates/default-app/examples/template/template.yaml delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/README.md delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/catalog-info.yaml delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/docs/index.md delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/mkdocs.yml delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/package.json delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/favicon.ico delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/index.html delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/logo192.png delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/logo512.png delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/manifest.json delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/robots.txt delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.css delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.test.tsx delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.tsx delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/index.css delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/index.tsx delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/logo.svg delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/react-app-env.d.ts delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/reportWebVitals.ts delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/setupTests.ts delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/tsconfig.json delete mode 100644 packages/create-app/templates/default-app/examples/templates/create-react-app/template.yaml diff --git a/packages/create-app/templates/default-app/examples/README.md b/packages/create-app/templates/default-app/examples/README.md deleted file mode 100644 index 77e1084899..0000000000 --- a/packages/create-app/templates/default-app/examples/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Example Entities - -This is a set of example entities that you can make use of to demonstrate basic -Backstage features. diff --git a/packages/create-app/templates/default-app/examples/acme-corp.yaml b/packages/create-app/templates/default-app/examples/acme-corp.yaml deleted file mode 100644 index 6449d548e0..0000000000 --- a/packages/create-app/templates/default-app/examples/acme-corp.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Location -metadata: - name: acme-corp - description: A collection of all Backstage example Groups -spec: - targets: - - ./acme/org.yaml diff --git a/packages/create-app/templates/default-app/examples/acme/backstage-group.yaml b/packages/create-app/templates/default-app/examples/acme/backstage-group.yaml deleted file mode 100644 index f83587532c..0000000000 --- a/packages/create-app/templates/default-app/examples/acme/backstage-group.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Group -metadata: - name: backstage - description: The backstage sub-department -spec: - type: sub-department - profile: - displayName: Backstage - email: backstage@example.com - picture: https://avatars.dicebear.com/api/identicon/backstage@example.com.svg?background=%23fff&margin=25 - parent: infrastructure - children: [team-a, team-b] diff --git a/packages/create-app/templates/default-app/examples/acme/boxoffice-group.yaml b/packages/create-app/templates/default-app/examples/acme/boxoffice-group.yaml deleted file mode 100644 index fbd454c56e..0000000000 --- a/packages/create-app/templates/default-app/examples/acme/boxoffice-group.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Group -metadata: - name: boxoffice - description: The boxoffice sub-department -spec: - type: sub-department - profile: - displayName: Box Office - email: boxoffice@example.com - # Intentional no picture for testing - parent: infrastructure - children: [team-c, team-d] diff --git a/packages/create-app/templates/default-app/examples/acme/infrastructure-group.yaml b/packages/create-app/templates/default-app/examples/acme/infrastructure-group.yaml deleted file mode 100644 index 584578e6ce..0000000000 --- a/packages/create-app/templates/default-app/examples/acme/infrastructure-group.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Group -metadata: - name: infrastructure - description: The infra department -spec: - type: department - # Intentional no profile for testing - parent: acme-corp - children: [backstage, boxoffice] diff --git a/packages/create-app/templates/default-app/examples/acme/org.yaml b/packages/create-app/templates/default-app/examples/acme/org.yaml deleted file mode 100644 index 9a0d690b57..0000000000 --- a/packages/create-app/templates/default-app/examples/acme/org.yaml +++ /dev/null @@ -1,32 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Group -metadata: - name: acme-corp - description: The acme-corp organization - links: - - url: http://www.acme.com/ - title: Website - - url: https://meta.wikimedia.org/wiki/ - title: Intranet -spec: - type: organization - profile: - displayName: ACME Corp - email: info@example.com - picture: https://avatars.dicebear.com/api/identicon/info@example.com.svg?background=%23fff&margin=25 - children: [infrastructure] ---- -apiVersion: backstage.io/v1alpha1 -kind: Location -metadata: - name: example-groups - description: A collection of all Backstage example Groups -spec: - targets: - - ./infrastructure-group.yaml - - ./boxoffice-group.yaml - - ./backstage-group.yaml - - ./team-a-group.yaml - - ./team-b-group.yaml - - ./team-c-group.yaml - - ./team-d-group.yaml diff --git a/packages/create-app/templates/default-app/examples/acme/team-a-group.yaml b/packages/create-app/templates/default-app/examples/acme/team-a-group.yaml deleted file mode 100644 index e343209d5f..0000000000 --- a/packages/create-app/templates/default-app/examples/acme/team-a-group.yaml +++ /dev/null @@ -1,60 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Group -metadata: - name: team-a - description: Team A -spec: - type: team - profile: - # Intentional no displayName for testing - email: team-a@example.com - picture: https://avatars.dicebear.com/api/identicon/team-a@example.com.svg?background=%23fff&margin=25 - parent: backstage - children: [] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: breanna.davison -spec: - profile: - # Intentional no displayName for testing - email: breanna-davison@example.com - picture: https://avatars.dicebear.com/api/avataaars/breanna-davison@example.com.svg?background=%23fff - memberOf: [team-a] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: janelle.dawe -spec: - profile: - displayName: Janelle Dawe - email: janelle-dawe@example.com - picture: https://avatars.dicebear.com/api/avataaars/janelle-dawe@example.com.svg?background=%23fff - memberOf: [team-a] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: nigel.manning -spec: - profile: - displayName: Nigel Manning - email: nigel-manning@example.com - picture: https://avatars.dicebear.com/api/avataaars/nigel-manning@example.com.svg?background=%23fff - memberOf: [team-a] ---- -# This user is added as an example, to make it more easy for the "Guest" -# sign-in option to demonstrate some entities being owned. In a regular org, -# a guest user would probably not be registered like this. -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: guest -spec: - profile: - displayName: Guest User - email: guest@example.com - picture: https://avatars.dicebear.com/api/avataaars/guest@example.com.svg?background=%23fff - memberOf: [team-a] diff --git a/packages/create-app/templates/default-app/examples/acme/team-b-group.yaml b/packages/create-app/templates/default-app/examples/acme/team-b-group.yaml deleted file mode 100644 index 20ab8721ea..0000000000 --- a/packages/create-app/templates/default-app/examples/acme/team-b-group.yaml +++ /dev/null @@ -1,68 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Group -metadata: - name: team-b - description: Team B -spec: - type: team - profile: - displayName: Team B - email: team-b@example.com - picture: https://avatars.dicebear.com/api/identicon/team-b@example.com.svg?background=%23fff&margin=25 - parent: backstage - children: [] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: amelia.park -spec: - profile: - displayName: Amelia Park - email: amelia-park@example.com - picture: https://avatars.dicebear.com/api/avataaars/amelia-park@example.com.svg?background=%23fff - memberOf: [team-b] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: colette.brock -spec: - profile: - displayName: Colette Brock - email: colette-brock@example.com - picture: https://avatars.dicebear.com/api/avataaars/colette-brock@example.com.svg?background=%23fff - memberOf: [team-b] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: jenny.doe -spec: - profile: - displayName: Jenny Doe - email: jenny-doe@example.com - picture: https://avatars.dicebear.com/api/avataaars/jenny-doe@example.com.svg?background=%23fff - memberOf: [team-b] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: jonathon.page -spec: - profile: - displayName: Jonathon Page - email: jonathon-page@example.com - picture: https://avatars.dicebear.com/api/avataaars/jonathon-page@example.com.svg?background=%23fff - memberOf: [team-b] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: justine.barrow -spec: - profile: - displayName: Justine Barrow - email: justine-barrow@example.com - picture: https://avatars.dicebear.com/api/avataaars/justine-barrow@example.com.svg?background=%23fff - memberOf: [team-b] diff --git a/packages/create-app/templates/default-app/examples/acme/team-c-group.yaml b/packages/create-app/templates/default-app/examples/acme/team-c-group.yaml deleted file mode 100644 index 639b591d61..0000000000 --- a/packages/create-app/templates/default-app/examples/acme/team-c-group.yaml +++ /dev/null @@ -1,68 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Group -metadata: - name: team-c - description: Team C -spec: - type: team - profile: - displayName: Team C - email: team-c@example.com - picture: https://avatars.dicebear.com/api/identicon/team-c@example.com.svg?background=%23fff&margin=25 - parent: boxoffice - children: [] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: calum.leavy -spec: - profile: - displayName: Calum Leavy - email: calum-leavy@example.com - picture: https://avatars.dicebear.com/api/avataaars/calum-leavy@example.com.svg?background=%23fff - memberOf: [team-c] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: frank.tiernan -spec: - profile: - displayName: Frank Tiernan - email: frank-tiernan@example.com - picture: https://avatars.dicebear.com/api/avataaars/frank-tiernan@example.com.svg?background=%23fff - memberOf: [team-c] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: peadar.macmahon -spec: - profile: - displayName: Peadar MacMahon - email: peadar-macmahon@example.com - picture: https://avatars.dicebear.com/api/avataaars/peadar-macmahon@example.com.svg?background=%23fff - memberOf: [team-c] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: sarah.gilroy -spec: - profile: - displayName: Sarah Gilroy - email: sarah-gilroy@example.com - picture: https://avatars.dicebear.com/api/avataaars/sarah-gilroy@example.com.svg?background=%23fff - memberOf: [team-c] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: tara.macgovern -spec: - profile: - displayName: Tara MacGovern - email: tara-macgovern@example.com - picture: https://avatars.dicebear.com/api/avataaars/tara-macgovern@example.com.svg?background=%23fff - memberOf: [team-c] diff --git a/packages/create-app/templates/default-app/examples/acme/team-d-group.yaml b/packages/create-app/templates/default-app/examples/acme/team-d-group.yaml deleted file mode 100644 index 898ed8be6c..0000000000 --- a/packages/create-app/templates/default-app/examples/acme/team-d-group.yaml +++ /dev/null @@ -1,35 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Group -metadata: - name: team-d - description: Team D -spec: - type: team - profile: - displayName: Team D - email: team-d@example.com - picture: https://avatars.dicebear.com/api/identicon/team-d@example.com.svg?background=%23fff&margin=25 - parent: boxoffice - children: [] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: eva.macdowell -spec: - profile: - displayName: Eva MacDowell - email: eva-macdowell@example.com - picture: https://avatars.dicebear.com/api/avataaars/eva-macdowell@example.com.svg?background=%23fff - memberOf: [team-d] ---- -apiVersion: backstage.io/v1alpha1 -kind: User -metadata: - name: lucy.sheehan -spec: - profile: - displayName: Lucy Sheehan - email: lucy-sheehan@example.com - picture: https://avatars.dicebear.com/api/avataaars/lucy-sheehan@example.com.svg?background=%23fff - memberOf: [team-d] diff --git a/packages/create-app/templates/default-app/examples/all-apis.yaml b/packages/create-app/templates/default-app/examples/all-apis.yaml deleted file mode 100644 index e23f1b3656..0000000000 --- a/packages/create-app/templates/default-app/examples/all-apis.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Location -metadata: - name: example-apis - description: A collection of all Backstage example APIs -spec: - targets: - - ./apis/hello-world-api.yaml - - ./apis/petstore-api.yaml - - ./apis/spotify-api.yaml - - ./apis/streetlights-api.yaml - - ./apis/swapi-graphql.yaml - - ./apis/wayback-archive-api.yaml - - ./apis/wayback-search-api.yaml diff --git a/packages/create-app/templates/default-app/examples/all-components.yaml b/packages/create-app/templates/default-app/examples/all-components.yaml deleted file mode 100644 index 9471b810a1..0000000000 --- a/packages/create-app/templates/default-app/examples/all-components.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Location -metadata: - name: example-components - description: A collection of all Backstage example components -spec: - targets: - - ./components/artist-lookup-component.yaml - - ./components/petstore-component.yaml - - ./components/playback-order-component.yaml - - ./components/podcast-api-component.yaml - - ./components/queue-proxy-component.yaml - - ./components/searcher-component.yaml - - ./components/playback-lib-component.yaml - - ./components/www-artist-component.yaml - - ./components/shuffle-api-component.yaml - - ./components/wayback-archive-component.yaml - - ./components/wayback-archive-ingestion-component.yaml - - ./components/wayback-archive-storage-component.yaml - - ./components/wayback-search-component.yaml diff --git a/packages/create-app/templates/default-app/examples/all-domains.yaml b/packages/create-app/templates/default-app/examples/all-domains.yaml deleted file mode 100644 index 91a8a5b76d..0000000000 --- a/packages/create-app/templates/default-app/examples/all-domains.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Location -metadata: - name: example-domains - description: A collection of all Backstage example domains -spec: - targets: - - ./domains/artists-domain.yaml - - ./domains/playback-domain.yaml diff --git a/packages/create-app/templates/default-app/examples/all-resources.yaml b/packages/create-app/templates/default-app/examples/all-resources.yaml deleted file mode 100644 index d0986e3fe2..0000000000 --- a/packages/create-app/templates/default-app/examples/all-resources.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Location -metadata: - name: example-resources - description: A collection of all Backstage example resources -spec: - targets: - - ./resources/artists-db-resource.yaml diff --git a/packages/create-app/templates/default-app/examples/all-systems.yaml b/packages/create-app/templates/default-app/examples/all-systems.yaml deleted file mode 100644 index 165bee54e5..0000000000 --- a/packages/create-app/templates/default-app/examples/all-systems.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Location -metadata: - name: example-systems - description: A collection of all Backstage example systems -spec: - targets: - - ./systems/artist-engagement-portal-system.yaml - - ./systems/audio-playback-system.yaml - - ./systems/podcast-system.yaml diff --git a/packages/create-app/templates/default-app/examples/all-templates.yaml b/packages/create-app/templates/default-app/examples/all-templates.yaml deleted file mode 100644 index 108097f4e3..0000000000 --- a/packages/create-app/templates/default-app/examples/all-templates.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Location -metadata: - name: example-templates - description: A collection of all Backstage example templates -spec: - targets: - - ./templates/create-react-app/template.yaml diff --git a/packages/create-app/templates/default-app/examples/apis/hello-world-api.yaml b/packages/create-app/templates/default-app/examples/apis/hello-world-api.yaml deleted file mode 100644 index 0f9786329f..0000000000 --- a/packages/create-app/templates/default-app/examples/apis/hello-world-api.yaml +++ /dev/null @@ -1,48 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: API -metadata: - name: hello-world - description: Hello World example for gRPC -spec: - type: grpc - lifecycle: deprecated - owner: team-c - definition: | - // Copyright 2015 gRPC authors. - // - // Licensed under the Apache License, Version 2.0 (the "License"); - // you may not use this file except in compliance with the License. - // You may obtain a copy of the License at - // - // http://www.apache.org/licenses/LICENSE-2.0 - // - // Unless required by applicable law or agreed to in writing, software - // distributed under the License is distributed on an "AS IS" BASIS, - // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - // See the License for the specific language governing permissions and - // limitations under the License. - - syntax = "proto3"; - - option java_multiple_files = true; - option java_package = "io.grpc.examples.helloworld"; - option java_outer_classname = "HelloWorldProto"; - option objc_class_prefix = "HLW"; - - package helloworld; - - // The greeting service definition. - service Greeter { - // Sends a greeting - rpc SayHello (HelloRequest) returns (HelloReply) {} - } - - // The request message containing the user's name. - message HelloRequest { - string name = 1; - } - - // The response message containing the greetings - message HelloReply { - string message = 1; - } diff --git a/packages/create-app/templates/default-app/examples/apis/petstore-api.yaml b/packages/create-app/templates/default-app/examples/apis/petstore-api.yaml deleted file mode 100644 index 5b6878f7d3..0000000000 --- a/packages/create-app/templates/default-app/examples/apis/petstore-api.yaml +++ /dev/null @@ -1,131 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: API -metadata: - name: petstore - description: The petstore API - tags: - - store - - rest - links: - - url: https://github.com/swagger-api/swagger-petstore - title: GitHub Repo - icon: github - - url: https://github.com/OAI/OpenAPI-Specification/blob/master/examples/v3.0/petstore.yaml - title: API Spec - icon: code -spec: - type: openapi - lifecycle: experimental - owner: team-c - definition: | - openapi: "3.0.0" - info: - version: 1.0.0 - title: Swagger Petstore - license: - name: MIT - servers: - - url: http://petstore.swagger.io/v1 - paths: - /pets: - get: - summary: List all pets - operationId: listPets - tags: - - pets - parameters: - - name: limit - in: query - description: How many items to return at one time (max 100) - required: false - schema: - type: integer - format: int32 - responses: - '200': - description: A paged array of pets - headers: - x-next: - description: A link to the next page of responses - schema: - type: string - content: - application/json: - schema: - $ref: "#/components/schemas/Pets" - default: - description: unexpected error - content: - application/json: - schema: - $ref: "#/components/schemas/Error" - post: - summary: Create a pet - operationId: createPets - tags: - - pets - responses: - '201': - description: Null response - default: - description: unexpected error - content: - application/json: - schema: - $ref: "#/components/schemas/Error" - /pets/{petId}: - get: - summary: Info for a specific pet - operationId: showPetById - tags: - - pets - parameters: - - name: petId - in: path - required: true - description: The id of the pet to retrieve - schema: - type: string - responses: - '200': - description: Expected response to a valid request - content: - application/json: - schema: - $ref: "#/components/schemas/Pet" - default: - description: unexpected error - content: - application/json: - schema: - $ref: "#/components/schemas/Error" - components: - schemas: - Pet: - type: object - required: - - id - - name - properties: - id: - type: integer - format: int64 - name: - type: string - tag: - type: string - Pets: - type: array - items: - $ref: "#/components/schemas/Pet" - Error: - type: object - required: - - code - - message - properties: - code: - type: integer - format: int32 - message: - type: string diff --git a/packages/create-app/templates/default-app/examples/apis/spotify-api.yaml b/packages/create-app/templates/default-app/examples/apis/spotify-api.yaml deleted file mode 100644 index 1110627473..0000000000 --- a/packages/create-app/templates/default-app/examples/apis/spotify-api.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: API -metadata: - name: spotify - description: The Spotify web API - tags: - - spotify - - rest - annotations: - # The annotation is deprecated, we use placeholders (see below) instead, remove it later. - backstage.io/definition-at-location: 'url:https://raw.githubusercontent.com/APIs-guru/openapi-directory/master/APIs/spotify.com/v1/swagger.yaml' -spec: - type: openapi - lifecycle: production - owner: team-a - definition: - $text: https://github.com/APIs-guru/openapi-directory/blob/dab6854d4d599aafb0eb36e6c7ae1fe0c37509b7/APIs/spotify.com/2021.4.2/openapi.yaml diff --git a/packages/create-app/templates/default-app/examples/apis/streetlights-api.yaml b/packages/create-app/templates/default-app/examples/apis/streetlights-api.yaml deleted file mode 100644 index 4e0dbb1396..0000000000 --- a/packages/create-app/templates/default-app/examples/apis/streetlights-api.yaml +++ /dev/null @@ -1,225 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: API -metadata: - name: streetlights - description: The Smartylighting Streetlights API allows you to remotely manage the city lights. - tags: - - mqtt - links: - - url: https://github.com/asyncapi/asyncapi/blob/master/examples/1.2.0/streetlights.yml - title: Source Code - icon: code -spec: - type: asyncapi - lifecycle: production - owner: team-c - definition: | - asyncapi: 2.0.0 - info: - title: Streetlights API - version: '1.0.0' - description: | - The Smartylighting Streetlights API allows you to remotely manage the city lights. - - ### Check out its awesome features: - - * Turn a specific streetlight on/off 🌃 - * Dim a specific streetlight 😎 - * Receive real-time information about environmental lighting conditions 📈 - license: - name: Apache 2.0 - url: https://www.apache.org/licenses/LICENSE-2.0 - - servers: - production: - url: api.streetlights.smartylighting.com:{port} - protocol: mqtt - description: Test broker - variables: - port: - description: Secure connection (TLS) is available through port 8883. - default: '1883' - enum: - - '1883' - - '8883' - security: - - apiKey: [] - - supportedOauthFlows: - - streetlights:on - - streetlights:off - - streetlights:dim - - openIdConnectWellKnown: [] - - defaultContentType: application/json - - channels: - smartylighting/streetlights/1/0/event/{streetlightId}/lighting/measured: - description: The topic on which measured values may be produced and consumed. - parameters: - streetlightId: - $ref: '#/components/parameters/streetlightId' - subscribe: - summary: Receive information about environmental lighting conditions of a particular streetlight. - operationId: receiveLightMeasurement - traits: - - $ref: '#/components/operationTraits/kafka' - message: - $ref: '#/components/messages/lightMeasured' - - smartylighting/streetlights/1/0/action/{streetlightId}/turn/on: - parameters: - streetlightId: - $ref: '#/components/parameters/streetlightId' - publish: - operationId: turnOn - traits: - - $ref: '#/components/operationTraits/kafka' - message: - $ref: '#/components/messages/turnOnOff' - - smartylighting/streetlights/1/0/action/{streetlightId}/turn/off: - parameters: - streetlightId: - $ref: '#/components/parameters/streetlightId' - publish: - operationId: turnOff - traits: - - $ref: '#/components/operationTraits/kafka' - message: - $ref: '#/components/messages/turnOnOff' - - smartylighting/streetlights/1/0/action/{streetlightId}/dim: - parameters: - streetlightId: - $ref: '#/components/parameters/streetlightId' - publish: - operationId: dimLight - traits: - - $ref: '#/components/operationTraits/kafka' - message: - $ref: '#/components/messages/dimLight' - - components: - messages: - lightMeasured: - name: lightMeasured - title: Light measured - summary: Inform about environmental lighting conditions for a particular streetlight. - contentType: application/json - traits: - - $ref: '#/components/messageTraits/commonHeaders' - payload: - $ref: "#/components/schemas/lightMeasuredPayload" - turnOnOff: - name: turnOnOff - title: Turn on/off - summary: Command a particular streetlight to turn the lights on or off. - traits: - - $ref: '#/components/messageTraits/commonHeaders' - payload: - $ref: "#/components/schemas/turnOnOffPayload" - dimLight: - name: dimLight - title: Dim light - summary: Command a particular streetlight to dim the lights. - traits: - - $ref: '#/components/messageTraits/commonHeaders' - payload: - $ref: "#/components/schemas/dimLightPayload" - - schemas: - lightMeasuredPayload: - type: object - properties: - lumens: - type: integer - minimum: 0 - description: Light intensity measured in lumens. - sentAt: - $ref: "#/components/schemas/sentAt" - turnOnOffPayload: - type: object - properties: - command: - type: string - enum: - - on - - off - description: Whether to turn on or off the light. - sentAt: - $ref: "#/components/schemas/sentAt" - dimLightPayload: - type: object - properties: - percentage: - type: integer - description: Percentage to which the light should be dimmed to. - minimum: 0 - maximum: 100 - sentAt: - $ref: "#/components/schemas/sentAt" - sentAt: - type: string - format: date-time - description: Date and time when the message was sent. - - securitySchemes: - apiKey: - type: apiKey - in: user - description: Provide your API key as the user and leave the password empty. - supportedOauthFlows: - type: oauth2 - description: Flows to support OAuth 2.0 - flows: - implicit: - authorizationUrl: 'https://authserver.example/auth' - scopes: - 'streetlights:on': Ability to switch lights on - 'streetlights:off': Ability to switch lights off - 'streetlights:dim': Ability to dim the lights - password: - tokenUrl: 'https://authserver.example/token' - scopes: - 'streetlights:on': Ability to switch lights on - 'streetlights:off': Ability to switch lights off - 'streetlights:dim': Ability to dim the lights - clientCredentials: - tokenUrl: 'https://authserver.example/token' - scopes: - 'streetlights:on': Ability to switch lights on - 'streetlights:off': Ability to switch lights off - 'streetlights:dim': Ability to dim the lights - authorizationCode: - authorizationUrl: 'https://authserver.example/auth' - tokenUrl: 'https://authserver.example/token' - refreshUrl: 'https://authserver.example/refresh' - scopes: - 'streetlights:on': Ability to switch lights on - 'streetlights:off': Ability to switch lights off - 'streetlights:dim': Ability to dim the lights - openIdConnectWellKnown: - type: openIdConnect - openIdConnectUrl: 'https://authserver.example/.well-known' - - parameters: - streetlightId: - description: The ID of the streetlight. - schema: - type: string - - messageTraits: - commonHeaders: - headers: - type: object - properties: - my-app-header: - type: integer - minimum: 0 - maximum: 100 - - operationTraits: - kafka: - bindings: - kafka: - clientId: my-app-id diff --git a/packages/create-app/templates/default-app/examples/apis/swapi-graphql.yaml b/packages/create-app/templates/default-app/examples/apis/swapi-graphql.yaml deleted file mode 100644 index ccddc537e7..0000000000 --- a/packages/create-app/templates/default-app/examples/apis/swapi-graphql.yaml +++ /dev/null @@ -1,1180 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: API -metadata: - name: starwars-graphql - description: SWAPI GraphQL Schema - links: - - url: https://github.com/graphql/swapi-graphql - title: GitHub Repo - icon: github -spec: - type: graphql - lifecycle: production - owner: team-b - definition: | - schema { - query: Root - } - - """A single film.""" - type Film implements Node { - """The title of this film.""" - title: String - - """The episode number of this film.""" - episodeID: Int - - """The opening paragraphs at the beginning of this film.""" - openingCrawl: String - - """The name of the director of this film.""" - director: String - - """The name(s) of the producer(s) of this film.""" - producers: [String] - - """The ISO 8601 date format of film release at original creator country.""" - releaseDate: String - speciesConnection(after: String, first: Int, before: String, last: Int): FilmSpeciesConnection - starshipConnection(after: String, first: Int, before: String, last: Int): FilmStarshipsConnection - vehicleConnection(after: String, first: Int, before: String, last: Int): FilmVehiclesConnection - characterConnection(after: String, first: Int, before: String, last: Int): FilmCharactersConnection - planetConnection(after: String, first: Int, before: String, last: Int): FilmPlanetsConnection - - """The ISO 8601 date format of the time that this resource was created.""" - created: String - - """The ISO 8601 date format of the time that this resource was edited.""" - edited: String - - """The ID of an object""" - id: ID! - } - - """A connection to a list of items.""" - type FilmCharactersConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [FilmCharactersEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - characters: [Person] - } - - """An edge in a connection.""" - type FilmCharactersEdge { - """The item at the end of the edge""" - node: Person - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type FilmPlanetsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [FilmPlanetsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - planets: [Planet] - } - - """An edge in a connection.""" - type FilmPlanetsEdge { - """The item at the end of the edge""" - node: Planet - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type FilmsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [FilmsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - films: [Film] - } - - """An edge in a connection.""" - type FilmsEdge { - """The item at the end of the edge""" - node: Film - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type FilmSpeciesConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [FilmSpeciesEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - species: [Species] - } - - """An edge in a connection.""" - type FilmSpeciesEdge { - """The item at the end of the edge""" - node: Species - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type FilmStarshipsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [FilmStarshipsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - starships: [Starship] - } - - """An edge in a connection.""" - type FilmStarshipsEdge { - """The item at the end of the edge""" - node: Starship - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type FilmVehiclesConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [FilmVehiclesEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - vehicles: [Vehicle] - } - - """An edge in a connection.""" - type FilmVehiclesEdge { - """The item at the end of the edge""" - node: Vehicle - - """A cursor for use in pagination""" - cursor: String! - } - - """An object with an ID""" - interface Node { - """The id of the object.""" - id: ID! - } - - """Information about pagination in a connection.""" - type PageInfo { - """When paginating forwards, are there more items?""" - hasNextPage: Boolean! - - """When paginating backwards, are there more items?""" - hasPreviousPage: Boolean! - - """When paginating backwards, the cursor to continue.""" - startCursor: String - - """When paginating forwards, the cursor to continue.""" - endCursor: String - } - - """A connection to a list of items.""" - type PeopleConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [PeopleEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - people: [Person] - } - - """An edge in a connection.""" - type PeopleEdge { - """The item at the end of the edge""" - node: Person - - """A cursor for use in pagination""" - cursor: String! - } - - """An individual person or character within the Star Wars universe.""" - type Person implements Node { - """The name of this person.""" - name: String - - """ - The birth year of the person, using the in-universe standard of BBY or ABY - - Before the Battle of Yavin or After the Battle of Yavin. The Battle of Yavin is - a battle that occurs at the end of Star Wars episode IV: A New Hope. - """ - birthYear: String - - """ - The eye color of this person. Will be "unknown" if not known or "n/a" if the - person does not have an eye. - """ - eyeColor: String - - """ - The gender of this person. Either "Male", "Female" or "unknown", - "n/a" if the person does not have a gender. - """ - gender: String - - """ - The hair color of this person. Will be "unknown" if not known or "n/a" if the - person does not have hair. - """ - hairColor: String - - """The height of the person in centimeters.""" - height: Int - - """The mass of the person in kilograms.""" - mass: Float - - """The skin color of this person.""" - skinColor: String - - """A planet that this person was born on or inhabits.""" - homeworld: Planet - filmConnection(after: String, first: Int, before: String, last: Int): PersonFilmsConnection - - """The species that this person belongs to, or null if unknown.""" - species: Species - starshipConnection(after: String, first: Int, before: String, last: Int): PersonStarshipsConnection - vehicleConnection(after: String, first: Int, before: String, last: Int): PersonVehiclesConnection - - """The ISO 8601 date format of the time that this resource was created.""" - created: String - - """The ISO 8601 date format of the time that this resource was edited.""" - edited: String - - """The ID of an object""" - id: ID! - } - - """A connection to a list of items.""" - type PersonFilmsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [PersonFilmsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - films: [Film] - } - - """An edge in a connection.""" - type PersonFilmsEdge { - """The item at the end of the edge""" - node: Film - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type PersonStarshipsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [PersonStarshipsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - starships: [Starship] - } - - """An edge in a connection.""" - type PersonStarshipsEdge { - """The item at the end of the edge""" - node: Starship - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type PersonVehiclesConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [PersonVehiclesEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - vehicles: [Vehicle] - } - - """An edge in a connection.""" - type PersonVehiclesEdge { - """The item at the end of the edge""" - node: Vehicle - - """A cursor for use in pagination""" - cursor: String! - } - - """ - A large mass, planet or planetoid in the Star Wars Universe, at the time of - 0 ABY. - """ - type Planet implements Node { - """The name of this planet.""" - name: String - - """The diameter of this planet in kilometers.""" - diameter: Int - - """ - The number of standard hours it takes for this planet to complete a single - rotation on its axis. - """ - rotationPeriod: Int - - """ - The number of standard days it takes for this planet to complete a single orbit - of its local star. - """ - orbitalPeriod: Int - - """ - A number denoting the gravity of this planet, where "1" is normal or 1 standard - G. "2" is twice or 2 standard Gs. "0.5" is half or 0.5 standard Gs. - """ - gravity: String - - """The average population of sentient beings inhabiting this planet.""" - population: Float - - """The climates of this planet.""" - climates: [String] - - """The terrains of this planet.""" - terrains: [String] - - """ - The percentage of the planet surface that is naturally occurring water or bodies - of water. - """ - surfaceWater: Float - residentConnection(after: String, first: Int, before: String, last: Int): PlanetResidentsConnection - filmConnection(after: String, first: Int, before: String, last: Int): PlanetFilmsConnection - - """The ISO 8601 date format of the time that this resource was created.""" - created: String - - """The ISO 8601 date format of the time that this resource was edited.""" - edited: String - - """The ID of an object""" - id: ID! - } - - """A connection to a list of items.""" - type PlanetFilmsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [PlanetFilmsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - films: [Film] - } - - """An edge in a connection.""" - type PlanetFilmsEdge { - """The item at the end of the edge""" - node: Film - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type PlanetResidentsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [PlanetResidentsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - residents: [Person] - } - - """An edge in a connection.""" - type PlanetResidentsEdge { - """The item at the end of the edge""" - node: Person - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type PlanetsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [PlanetsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - planets: [Planet] - } - - """An edge in a connection.""" - type PlanetsEdge { - """The item at the end of the edge""" - node: Planet - - """A cursor for use in pagination""" - cursor: String! - } - - type Root { - allFilms(after: String, first: Int, before: String, last: Int): FilmsConnection - film(id: ID, filmID: ID): Film - allPeople(after: String, first: Int, before: String, last: Int): PeopleConnection - person(id: ID, personID: ID): Person - allPlanets(after: String, first: Int, before: String, last: Int): PlanetsConnection - planet(id: ID, planetID: ID): Planet - allSpecies(after: String, first: Int, before: String, last: Int): SpeciesConnection - species(id: ID, speciesID: ID): Species - allStarships(after: String, first: Int, before: String, last: Int): StarshipsConnection - starship(id: ID, starshipID: ID): Starship - allVehicles(after: String, first: Int, before: String, last: Int): VehiclesConnection - vehicle(id: ID, vehicleID: ID): Vehicle - - """Fetches an object given its ID""" - node( - """The ID of an object""" - id: ID! - ): Node - } - - """A type of person or character within the Star Wars Universe.""" - type Species implements Node { - """The name of this species.""" - name: String - - """The classification of this species, such as "mammal" or "reptile".""" - classification: String - - """The designation of this species, such as "sentient".""" - designation: String - - """The average height of this species in centimeters.""" - averageHeight: Float - - """The average lifespan of this species in years, null if unknown.""" - averageLifespan: Int - - """ - Common eye colors for this species, null if this species does not typically - have eyes. - """ - eyeColors: [String] - - """ - Common hair colors for this species, null if this species does not typically - have hair. - """ - hairColors: [String] - - """ - Common skin colors for this species, null if this species does not typically - have skin. - """ - skinColors: [String] - - """The language commonly spoken by this species.""" - language: String - - """A planet that this species originates from.""" - homeworld: Planet - personConnection(after: String, first: Int, before: String, last: Int): SpeciesPeopleConnection - filmConnection(after: String, first: Int, before: String, last: Int): SpeciesFilmsConnection - - """The ISO 8601 date format of the time that this resource was created.""" - created: String - - """The ISO 8601 date format of the time that this resource was edited.""" - edited: String - - """The ID of an object""" - id: ID! - } - - """A connection to a list of items.""" - type SpeciesConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [SpeciesEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - species: [Species] - } - - """An edge in a connection.""" - type SpeciesEdge { - """The item at the end of the edge""" - node: Species - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type SpeciesFilmsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [SpeciesFilmsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - films: [Film] - } - - """An edge in a connection.""" - type SpeciesFilmsEdge { - """The item at the end of the edge""" - node: Film - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type SpeciesPeopleConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [SpeciesPeopleEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - people: [Person] - } - - """An edge in a connection.""" - type SpeciesPeopleEdge { - """The item at the end of the edge""" - node: Person - - """A cursor for use in pagination""" - cursor: String! - } - - """A single transport craft that has hyperdrive capability.""" - type Starship implements Node { - """The name of this starship. The common name, such as "Death Star".""" - name: String - - """ - The model or official name of this starship. Such as "T-65 X-wing" or "DS-1 - Orbital Battle Station". - """ - model: String - - """ - The class of this starship, such as "Starfighter" or "Deep Space Mobile - Battlestation" - """ - starshipClass: String - - """The manufacturers of this starship.""" - manufacturers: [String] - - """The cost of this starship new, in galactic credits.""" - costInCredits: Float - - """The length of this starship in meters.""" - length: Float - - """The number of personnel needed to run or pilot this starship.""" - crew: String - - """The number of non-essential people this starship can transport.""" - passengers: String - - """ - The maximum speed of this starship in atmosphere. null if this starship is - incapable of atmosphering flight. - """ - maxAtmospheringSpeed: Int - - """The class of this starships hyperdrive.""" - hyperdriveRating: Float - - """ - The Maximum number of Megalights this starship can travel in a standard hour. - A "Megalight" is a standard unit of distance and has never been defined before - within the Star Wars universe. This figure is only really useful for measuring - the difference in speed of starships. We can assume it is similar to AU, the - distance between our Sun (Sol) and Earth. - """ - MGLT: Int - - """The maximum number of kilograms that this starship can transport.""" - cargoCapacity: Float - - """ - The maximum length of time that this starship can provide consumables for its - entire crew without having to resupply. - """ - consumables: String - pilotConnection(after: String, first: Int, before: String, last: Int): StarshipPilotsConnection - filmConnection(after: String, first: Int, before: String, last: Int): StarshipFilmsConnection - - """The ISO 8601 date format of the time that this resource was created.""" - created: String - - """The ISO 8601 date format of the time that this resource was edited.""" - edited: String - - """The ID of an object""" - id: ID! - } - - """A connection to a list of items.""" - type StarshipFilmsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [StarshipFilmsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - films: [Film] - } - - """An edge in a connection.""" - type StarshipFilmsEdge { - """The item at the end of the edge""" - node: Film - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type StarshipPilotsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [StarshipPilotsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - pilots: [Person] - } - - """An edge in a connection.""" - type StarshipPilotsEdge { - """The item at the end of the edge""" - node: Person - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type StarshipsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [StarshipsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - starships: [Starship] - } - - """An edge in a connection.""" - type StarshipsEdge { - """The item at the end of the edge""" - node: Starship - - """A cursor for use in pagination""" - cursor: String! - } - - """A single transport craft that does not have hyperdrive capability""" - type Vehicle implements Node { - """ - The name of this vehicle. The common name, such as "Sand Crawler" or "Speeder - bike". - """ - name: String - - """ - The model or official name of this vehicle. Such as "All-Terrain Attack - Transport". - """ - model: String - - """The class of this vehicle, such as "Wheeled" or "Repulsorcraft".""" - vehicleClass: String - - """The manufacturers of this vehicle.""" - manufacturers: [String] - - """The cost of this vehicle new, in Galactic Credits.""" - costInCredits: Float - - """The length of this vehicle in meters.""" - length: Float - - """The number of personnel needed to run or pilot this vehicle.""" - crew: String - - """The number of non-essential people this vehicle can transport.""" - passengers: String - - """The maximum speed of this vehicle in atmosphere.""" - maxAtmospheringSpeed: Int - - """The maximum number of kilograms that this vehicle can transport.""" - cargoCapacity: Float - - """ - The maximum length of time that this vehicle can provide consumables for its - entire crew without having to resupply. - """ - consumables: String - pilotConnection(after: String, first: Int, before: String, last: Int): VehiclePilotsConnection - filmConnection(after: String, first: Int, before: String, last: Int): VehicleFilmsConnection - - """The ISO 8601 date format of the time that this resource was created.""" - created: String - - """The ISO 8601 date format of the time that this resource was edited.""" - edited: String - - """The ID of an object""" - id: ID! - } - - """A connection to a list of items.""" - type VehicleFilmsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [VehicleFilmsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - films: [Film] - } - - """An edge in a connection.""" - type VehicleFilmsEdge { - """The item at the end of the edge""" - node: Film - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type VehiclePilotsConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [VehiclePilotsEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - pilots: [Person] - } - - """An edge in a connection.""" - type VehiclePilotsEdge { - """The item at the end of the edge""" - node: Person - - """A cursor for use in pagination""" - cursor: String! - } - - """A connection to a list of items.""" - type VehiclesConnection { - """Information to aid in pagination.""" - pageInfo: PageInfo! - - """A list of edges.""" - edges: [VehiclesEdge] - - """ - A count of the total number of objects in this connection, ignoring pagination. - This allows a client to fetch the first five objects by passing "5" as the - argument to "first", then fetch the total count so it could display "5 of 83", - for example. - """ - totalCount: Int - - """ - A list of all of the objects returned in the connection. This is a convenience - field provided for quickly exploring the API; rather than querying for - "{ edges { node } }" when no edge data is needed, this field can be be used - instead. Note that when clients like Relay need to fetch the "cursor" field on - the edge to enable efficient pagination, this shortcut cannot be used, and the - full "{ edges { node } }" version should be used instead. - """ - vehicles: [Vehicle] - } - - """An edge in a connection.""" - type VehiclesEdge { - """The item at the end of the edge""" - node: Vehicle - - """A cursor for use in pagination""" - cursor: String! - } diff --git a/packages/create-app/templates/default-app/examples/apis/wayback-archive-api.yaml b/packages/create-app/templates/default-app/examples/apis/wayback-archive-api.yaml deleted file mode 100644 index 8c2a9c7d6e..0000000000 --- a/packages/create-app/templates/default-app/examples/apis/wayback-archive-api.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: API -metadata: - name: wayback-archive - description: Archive API for the wayback machine -spec: - type: openapi - lifecycle: production - owner: team-a - definition: - $text: https://github.com/APIs-guru/openapi-directory/blob/main/APIs/archive.org/wayback/1.0.0/openapi.yaml diff --git a/packages/create-app/templates/default-app/examples/apis/wayback-search-api.yaml b/packages/create-app/templates/default-app/examples/apis/wayback-search-api.yaml deleted file mode 100644 index 45fa5d1b19..0000000000 --- a/packages/create-app/templates/default-app/examples/apis/wayback-search-api.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: API -metadata: - name: wayback-search - description: Search API for the wayback machine -spec: - type: openapi - lifecycle: production - owner: team-a - definition: - $text: https://github.com/APIs-guru/openapi-directory/blob/main/APIs/archive.org/search/1.0.0/openapi.yaml diff --git a/packages/create-app/templates/default-app/examples/components/artist-lookup-component.yaml b/packages/create-app/templates/default-app/examples/components/artist-lookup-component.yaml deleted file mode 100644 index c0022762b4..0000000000 --- a/packages/create-app/templates/default-app/examples/components/artist-lookup-component.yaml +++ /dev/null @@ -1,37 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: artist-lookup - description: Artist Lookup - tags: - - java - - data - links: - - url: https://example.com/user - title: Examples Users - icon: user - - url: https://example.com/group - title: Example Group - icon: group - - url: https://example.com/cloud - title: Link with Cloud Icon - icon: cloud - - url: https://example.com/dashboard - title: Dashboard - icon: dashboard - - url: https://example.com/help - title: Support - icon: help - - url: https://example.com/web - title: Website - icon: web - - url: https://example.com/alert - title: Alerts - icon: alert -spec: - type: service - lifecycle: experimental - owner: team-a - system: artist-engagement-portal - dependsOn: ['resource:artists-db'] - apiConsumedBy: ['component:www-artist'] diff --git a/packages/create-app/templates/default-app/examples/components/petstore-component.yaml b/packages/create-app/templates/default-app/examples/components/petstore-component.yaml deleted file mode 100644 index 878fabd551..0000000000 --- a/packages/create-app/templates/default-app/examples/components/petstore-component.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: petstore - # This is an extra long description - description: The Petstore is an example API used to show features of the OpenAPI spec. - links: - - url: https://github.com/swagger-api/swagger-petstore - title: GitHub Repo - icon: github -spec: - type: service - lifecycle: experimental - owner: team-c - providesApis: - - petstore - - streetlights - - hello-world diff --git a/packages/create-app/templates/default-app/examples/components/playback-lib-component.yaml b/packages/create-app/templates/default-app/examples/components/playback-lib-component.yaml deleted file mode 100644 index de7e93d38d..0000000000 --- a/packages/create-app/templates/default-app/examples/components/playback-lib-component.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: playback-sdk - description: Audio and video playback SDK -spec: - type: library - lifecycle: experimental - owner: team-c - system: audio-playback diff --git a/packages/create-app/templates/default-app/examples/components/playback-order-component.yaml b/packages/create-app/templates/default-app/examples/components/playback-order-component.yaml deleted file mode 100644 index 9146063886..0000000000 --- a/packages/create-app/templates/default-app/examples/components/playback-order-component.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: playback-order - description: Playback Order - tags: - - java - - playback -spec: - type: service - lifecycle: production - owner: user:guest - system: audio-playback diff --git a/packages/create-app/templates/default-app/examples/components/podcast-api-component.yaml b/packages/create-app/templates/default-app/examples/components/podcast-api-component.yaml deleted file mode 100644 index 30d254a00f..0000000000 --- a/packages/create-app/templates/default-app/examples/components/podcast-api-component.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: podcast-api - description: Podcast API - tags: - - java -spec: - type: service - lifecycle: experimental - owner: team-b - system: podcast diff --git a/packages/create-app/templates/default-app/examples/components/queue-proxy-component.yaml b/packages/create-app/templates/default-app/examples/components/queue-proxy-component.yaml deleted file mode 100644 index a2d5ae5ea4..0000000000 --- a/packages/create-app/templates/default-app/examples/components/queue-proxy-component.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: queue-proxy - description: Queue Proxy - tags: - - go - - website -spec: - type: website - lifecycle: production - owner: team-b - system: podcast diff --git a/packages/create-app/templates/default-app/examples/components/shuffle-api-component.yaml b/packages/create-app/templates/default-app/examples/components/shuffle-api-component.yaml deleted file mode 100644 index 6328ebdf3b..0000000000 --- a/packages/create-app/templates/default-app/examples/components/shuffle-api-component.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: shuffle-api - description: Shuffle API - tags: - - go -spec: - type: service - lifecycle: production - owner: user:guest - system: audio-playback diff --git a/packages/create-app/templates/default-app/examples/components/wayback-archive-component.yaml b/packages/create-app/templates/default-app/examples/components/wayback-archive-component.yaml deleted file mode 100644 index 5d558db64a..0000000000 --- a/packages/create-app/templates/default-app/examples/components/wayback-archive-component.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: wayback-archive - description: Archive of the wayback machine -spec: - type: service - lifecycle: production - owner: team-a - providesApis: - - wayback-archive diff --git a/packages/create-app/templates/default-app/examples/components/wayback-archive-ingestion-component.yaml b/packages/create-app/templates/default-app/examples/components/wayback-archive-ingestion-component.yaml deleted file mode 100644 index 4f870ac831..0000000000 --- a/packages/create-app/templates/default-app/examples/components/wayback-archive-ingestion-component.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: wayback-archive-ingestion - description: Ingestion subsystem of the Wayback Archive -spec: - type: service - lifecycle: production - owner: team-d - subcomponentOf: wayback-archive diff --git a/packages/create-app/templates/default-app/examples/components/wayback-archive-storage-component.yaml b/packages/create-app/templates/default-app/examples/components/wayback-archive-storage-component.yaml deleted file mode 100644 index 78d67258d7..0000000000 --- a/packages/create-app/templates/default-app/examples/components/wayback-archive-storage-component.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: wayback-archive-storage - description: Storage subsystem of the Wayback Archive -spec: - type: service - lifecycle: production - owner: team-a - subcomponentOf: wayback-archive diff --git a/packages/create-app/templates/default-app/examples/components/wayback-search-component.yaml b/packages/create-app/templates/default-app/examples/components/wayback-search-component.yaml deleted file mode 100644 index 0187e4441f..0000000000 --- a/packages/create-app/templates/default-app/examples/components/wayback-search-component.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: wayback-search - description: Search of the wayback machine -spec: - type: service - lifecycle: production - owner: team-a - providesApis: - - wayback-search - consumesApis: - - wayback-archive diff --git a/packages/create-app/templates/default-app/examples/components/www-artist-component.yaml b/packages/create-app/templates/default-app/examples/components/www-artist-component.yaml deleted file mode 100644 index 1ca394ecbc..0000000000 --- a/packages/create-app/templates/default-app/examples/components/www-artist-component.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: www-artist - description: Artist main website -spec: - type: website - lifecycle: production - owner: team-a - system: artist-engagement-portal - consumesApis: ['component:artist-lookup'] diff --git a/packages/create-app/templates/default-app/examples/domains/artists-domain.yaml b/packages/create-app/templates/default-app/examples/domains/artists-domain.yaml deleted file mode 100644 index 2a74425791..0000000000 --- a/packages/create-app/templates/default-app/examples/domains/artists-domain.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Domain -metadata: - name: artists - description: Everything related to artists - links: - - url: http://example.com/domain/artists/ - title: Domain Readme - - url: http://example.com/domains/artists/dashboard - title: Domain Metrics Dashboard - icon: dashboard -spec: - owner: team-a diff --git a/packages/create-app/templates/default-app/examples/domains/playback-domain.yaml b/packages/create-app/templates/default-app/examples/domains/playback-domain.yaml deleted file mode 100644 index c9933ebf5e..0000000000 --- a/packages/create-app/templates/default-app/examples/domains/playback-domain.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Domain -metadata: - name: playback - description: Everything related to audio playback -spec: - owner: user:frank.tiernan diff --git a/packages/create-app/templates/default-app/examples/entities.yaml b/packages/create-app/templates/default-app/examples/entities.yaml new file mode 100644 index 0000000000..cdc44fa292 --- /dev/null +++ b/packages/create-app/templates/default-app/examples/entities.yaml @@ -0,0 +1,40 @@ +--- +apiVersion: backstage.io/v1alpha1 +# https://backstage.io/docs/features/software-catalog/descriptor-format#kind-system +kind: System +metadata: + name: examples +spec: + owner: guests +--- +apiVersion: backstage.io/v1alpha1 +# https://backstage.io/docs/features/software-catalog/descriptor-format#kind-component +kind: Component +metadata: + name: example-website +spec: + type: website + lifecycle: experimental + owner: guests + system: examples +--- +apiVersion: backstage.io/v1alpha1 +# https://backstage.io/docs/features/software-catalog/descriptor-format#kind-api +kind: API +metadata: + name: example-grpc-api +spec: + type: grpc + lifecycle: experimental + owner: guests + system: examples + definition: | + syntax = "proto3"; + + service Exampler { + rpc Example (ExampleMessage) returns (ExampleMessage) {}; + } + + message ExampleMessage { + string example = 1; + }; diff --git a/packages/create-app/templates/default-app/examples/resources/artists-db-resource.yaml b/packages/create-app/templates/default-app/examples/resources/artists-db-resource.yaml deleted file mode 100644 index a666e9b3fd..0000000000 --- a/packages/create-app/templates/default-app/examples/resources/artists-db-resource.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Resource -metadata: - name: artists-db - description: Stores artist details -spec: - type: database - owner: team-a - system: artist-engagement-portal diff --git a/packages/create-app/templates/default-app/examples/systems/artist-engagement-portal-system.yaml b/packages/create-app/templates/default-app/examples/systems/artist-engagement-portal-system.yaml deleted file mode 100644 index 8de3c00880..0000000000 --- a/packages/create-app/templates/default-app/examples/systems/artist-engagement-portal-system.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: System -metadata: - name: artist-engagement-portal - description: Everything related to artists - tags: - - portal -spec: - owner: team-a - domain: artists diff --git a/packages/create-app/templates/default-app/examples/systems/audio-playback-system.yaml b/packages/create-app/templates/default-app/examples/systems/audio-playback-system.yaml deleted file mode 100644 index 7430ae2ff5..0000000000 --- a/packages/create-app/templates/default-app/examples/systems/audio-playback-system.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: System -metadata: - name: audio-playback - description: Audio playback system -spec: - owner: team-c - domain: playback diff --git a/packages/create-app/templates/default-app/examples/systems/podcast-system.yaml b/packages/create-app/templates/default-app/examples/systems/podcast-system.yaml deleted file mode 100644 index 47a2f7ac9f..0000000000 --- a/packages/create-app/templates/default-app/examples/systems/podcast-system.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: System -metadata: - name: podcast - description: Podcast playback -spec: - owner: team-b - domain: playback diff --git a/packages/create-app/templates/default-app/examples/components/searcher-component.yaml b/packages/create-app/templates/default-app/examples/template/content/catalog-info.yaml similarity index 55% rename from packages/create-app/templates/default-app/examples/components/searcher-component.yaml rename to packages/create-app/templates/default-app/examples/template/content/catalog-info.yaml index 77150c96f0..d4ccca42ef 100644 --- a/packages/create-app/templates/default-app/examples/components/searcher-component.yaml +++ b/packages/create-app/templates/default-app/examples/template/content/catalog-info.yaml @@ -1,11 +1,8 @@ apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: searcher - description: Searcher - tags: - - go + name: ${{ values.name | dump }} spec: type: service - lifecycle: production owner: user:guest + lifecycle: experimental diff --git a/packages/create-app/templates/default-app/examples/template/content/index.js b/packages/create-app/templates/default-app/examples/template/content/index.js new file mode 100644 index 0000000000..06a746c9b3 --- /dev/null +++ b/packages/create-app/templates/default-app/examples/template/content/index.js @@ -0,0 +1,2 @@ + +console.log('Hello from ${{ values.name }}!') diff --git a/packages/create-app/templates/default-app/examples/template/content/package.json b/packages/create-app/templates/default-app/examples/template/content/package.json new file mode 100644 index 0000000000..0ee7eb53d6 --- /dev/null +++ b/packages/create-app/templates/default-app/examples/template/content/package.json @@ -0,0 +1,5 @@ +{ + "name": ${{ values.name | dump }}, + "private": true, + "dependencies": {} +} diff --git a/packages/create-app/templates/default-app/examples/template/template.yaml b/packages/create-app/templates/default-app/examples/template/template.yaml new file mode 100644 index 0000000000..13b2225cc3 --- /dev/null +++ b/packages/create-app/templates/default-app/examples/template/template.yaml @@ -0,0 +1,65 @@ +apiVersion: scaffolder.backstage.io/v1beta3 +# https://backstage.io/docs/features/software-catalog/descriptor-format#kind-template +kind: Template +metadata: + name: example-nodejs-template + title: Example Node.js Template + description: An example template for the scaffolder that creates a simple Node.js service +spec: + owner: user:guest + type: service + + # These parameters are used to generate the input form in the frontend, and are + # used to gather input data for the execution of the template. + parameters: + - title: Fill in some steps + required: + - name + properties: + name: + title: Name + type: string + description: Unique name of the component + ui:autofocus: true + ui:options: + rows: 5 + - title: Choose a location + required: + - repoUrl + properties: + repoUrl: + title: Repository Location + type: string + ui:field: RepoUrlPicker + ui:options: + allowedHosts: + - github.com + + # These steps are executed in the scaffolder backend, using data that we gathered + # via the parameters above. + steps: + # Each step executes an action, in this case one templates files into the working directory. + - id: fetch-base + name: Fetch Base + action: fetch:template + input: + url: ./content + values: + name: ${{ parameters.name }} + + # This step publishes the contents of the working directory to GitHub. + - id: publish + name: Publish + action: publish:github + input: + allowedHosts: ['github.com'] + description: This is ${{ parameters.name }} + repoUrl: ${{ parameters.repoUrl }} + + # The final step is to register our new component in the catalog. + - id: register + name: Register + action: catalog:register + input: + repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }} + catalogInfoPath: '/catalog-info.yaml' diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/README.md b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/README.md deleted file mode 100644 index 305d413b8e..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# Getting Started with Create React App - -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). - -## Available Scripts - -In the project directory, you can run: - -### `yarn start` - -Runs the app in the development mode.\ -Open [http://localhost:3000](http://localhost:3000) to view it in the browser. - -The page will reload if you make edits.\ -You will also see any lint errors in the console. - -### `yarn test` - -Launches the test runner in the interactive watch mode.\ -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `yarn build` - -Builds the app for production to the `build` folder.\ -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.\ -Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `yarn eject` - -**Note: this is a one-way operation. Once you `eject`, you can’t go back!** - -If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (`webpack`, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. - -You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/catalog-info.yaml b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/catalog-info.yaml deleted file mode 100644 index 8c28cb3b4e..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/catalog-info.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: ${{values.name | dump}} - {%- if values.description %} - description: ${{values.description | dump}} - {%- endif %} - annotations: - github.com/project-slug: ${{values.destination.owner + "/" + values.destination.repo}} - backstage.io/techdocs-ref: dir:. -spec: - type: website - lifecycle: experimental - owner: ${{values.owner | dump}} diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/docs/index.md b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/docs/index.md deleted file mode 100644 index 41149dadf0..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/docs/index.md +++ /dev/null @@ -1,28 +0,0 @@ -## ${{ values.name }} - -${{ values.description }} - -## Getting started - -Start write your documentation by adding more markdown (.md) files to this folder (/docs) or replace the content in this file. - -## Table of Contents - -The Table of Contents on the right is generated automatically based on the hierarchy -of headings. Only use one H1 (`#` in Markdown) per file. - -## Site navigation - -For new pages to appear in the left hand navigation you need edit the `mkdocs.yml` -file in root of your repo. The navigation can also link out to other sites. - -Alternatively, if there is no `nav` section in `mkdocs.yml`, a navigation section -will be created for you. However, you will not be able to use alternate titles for -pages, or include links to other sites. - -Note that MkDocs uses `mkdocs.yml`, not `mkdocs.yaml`, although both appear to work. -See also . - -## Support - -That's it. If you need support, reach out in [#docs-like-code](https://discord.com/channels/687207715902193673/714754240933003266) on Discord. diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/mkdocs.yml b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/mkdocs.yml deleted file mode 100644 index b806fe385d..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/mkdocs.yml +++ /dev/null @@ -1,8 +0,0 @@ -site_name: ${{values.name | dump}} -site_description: ${{values.description | dump}} - -nav: - - Introduction: index.md - -plugins: - - techdocs-core diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/package.json b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/package.json deleted file mode 100644 index bcd678d502..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "${{values.name}}", - "version": "0.1.0", - "private": true, - "dependencies": { - "@testing-library/jest-dom": "^5.11.4", - "@testing-library/react": "^11.1.0", - "@testing-library/user-event": "^12.1.10", - "@types/jest": "^26.0.15", - "@types/node": "^12.0.0", - "@types/react": "^17.0.0", - "@types/react-dom": "^17.0.0", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-scripts": "4.0.3", - "typescript": "^4.1.2", - "web-vitals": "^1.0.1" - }, - "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject" - }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - } -} diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/favicon.ico b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/favicon.ico deleted file mode 100644 index a11777cc471a4344702741ab1c8a588998b1311a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/index.html b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/index.html deleted file mode 100644 index aa069f27cb..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/index.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - React App - - - -
- - - diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/logo192.png b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/manifest.json b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/manifest.json deleted file mode 100644 index 080d6c77ac..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/robots.txt b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/robots.txt deleted file mode 100644 index e9e57dc4d4..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.css b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.css deleted file mode 100644 index 74b5e05345..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.css +++ /dev/null @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.test.tsx b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.test.tsx deleted file mode 100644 index 2a68616d98..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.test.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react'; -import { render, screen } from '@testing-library/react'; -import App from './App'; - -test('renders learn react link', () => { - render(); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.tsx b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.tsx deleted file mode 100644 index a53698aab3..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/App.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; -import logo from './logo.svg'; -import './App.css'; - -function App() { - return ( - - ); -} - -export default App; diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/index.css b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/index.css deleted file mode 100644 index ec2585e8c0..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/index.css +++ /dev/null @@ -1,13 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/index.tsx b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/index.tsx deleted file mode 100644 index ef2edf8ea3..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/index.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import './index.css'; -import App from './App'; -import reportWebVitals from './reportWebVitals'; - -ReactDOM.render( - - - , - document.getElementById('root') -); - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/logo.svg b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/logo.svg deleted file mode 100644 index 9dfc1c058c..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/react-app-env.d.ts b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/react-app-env.d.ts deleted file mode 100644 index 6431bc5fc6..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/react-app-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/reportWebVitals.ts b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/reportWebVitals.ts deleted file mode 100644 index 49a2a16e0f..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/reportWebVitals.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ReportHandler } from 'web-vitals'; - -const reportWebVitals = (onPerfEntry?: ReportHandler) => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/setupTests.ts b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/setupTests.ts deleted file mode 100644 index 8f2609b7b3..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/src/setupTests.ts +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/tsconfig.json b/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/tsconfig.json deleted file mode 100644 index a273b0cfc0..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/skeleton/tsconfig.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx" - }, - "include": [ - "src" - ] -} diff --git a/packages/create-app/templates/default-app/examples/templates/create-react-app/template.yaml b/packages/create-app/templates/default-app/examples/templates/create-react-app/template.yaml deleted file mode 100644 index 643d9778e3..0000000000 --- a/packages/create-app/templates/default-app/examples/templates/create-react-app/template.yaml +++ /dev/null @@ -1,83 +0,0 @@ -apiVersion: scaffolder.backstage.io/v1beta3 -kind: Template -metadata: - name: create-react-app-template - title: Create React App Template - description: Create a new CRA website project - tags: - - react - - cra -spec: - owner: team-a - type: website - parameters: - - title: Basic - description: Fill out some of the basic information for the new project - required: - - name - - owner - properties: - name: - title: Name - type: string - description: Unique name of the component - ui:field: EntityNamePicker - 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: Location - description: Where should the project be created? - 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:template - input: - url: ./skeleton - values: - name: ${{ parameters.name }} - description: ${{ parameters.description }} - destination: ${{ parameters.repoUrl | parseRepoUrl }} - owner: ${{ parameters.owner }} - - - id: publish - name: Publish - action: publish:github - input: - allowedHosts: - - github.com - description: This is ${{ parameters.name }} - repoUrl: ${{ parameters.repoUrl }} - - - id: register - name: Register - action: catalog:register - input: - repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }} - catalogInfoPath: /catalog-info.yaml - - output: - links: - - title: Repository - url: ${{ steps.publish.output.remoteUrl }} - - title: Open in catalog - icon: catalog - entityRef: ${{ steps.register.output.entityRef }}
-
- logo -

- Edit src/App.tsx and save to reload. -

-
- Learn React - -
-