Published: Jun 7, 2023 by Isaac Johnson
I saw Backstage.io demo’ed at OSN 2023 this year during the Medtronic presentation by Brad Schlict and Derek Winters. I thought it was pretty slick and would solve a lot of issues I have, and, perhaps, make for a great blog post. I mean, it’s a really straightforward NodeJS app.. I know NodeJS. this should be easy, right?
Well, I got something running in a few ways. Clearly, this wasn’t the win for which I hoped. That said, there are times we suck it up and post what we did and can all gather around and chuckle at the n00b. I invite your attention and perhaps jeering as I try and get this (insert indecipherable old man muttering) product up and running….
Helm install
Let’s first add the Helm repos
builder@DESKTOP-72D2D9T:~/Workspaces/jekyll-blog$ helm repo add bitnami https://charts.bitnami.com/bitnami
"bitnami" already exists with the same configuration, skipping
builder@DESKTOP-72D2D9T:~/Workspaces/jekyll-blog$ helm repo add backstage https://backstage.github.io/charts
"backstage" has been added to your repositories
I’ll set my context (something I’m now regularily doing) then install the chart
$ kubectl config set-context --current --namespace=default
$ helm upgrade -i backstage backstage/backstage
Release "backstage" does not exist. Installing it now.
NAME: backstage
LAST DEPLOYED: Sat Jun 3 10:00:25 2023
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
I can now see it running
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
backstage-c564d4656-sldpz 1/1 Running 0 93s
I also see a service was created for it
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 2d15h
backstage ClusterIP 10.43.180.223 <none> 7007/TCP 118s
Let’s port-forward to see the Backstage portal
$ kubectl port-forward svc/backstage 7007:7007
Forwarding from 127.0.0.1:7007 -> 7007
Forwarding from [::1]:7007 -> 7007
We can now see the OOTB Backstage site
To test it out, I’ll register an existing component (https://github.com/backstage/backstage/blob/master/catalog-info.yaml
) and see how it looks
We can now browse the components
I was curious how the deployment was configured
$ kubectl get deployment backstage -o yaml
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
meta.helm.sh/release-name: backstage
meta.helm.sh/release-namespace: default
creationTimestamp: "2023-06-03T15:13:31Z"
generation: 1
labels:
app.kubernetes.io/component: backstage
app.kubernetes.io/instance: backstage
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: backstage
helm.sh/chart: backstage-1.1.0
name: backstage
namespace: default
resourceVersion: "114767"
uid: e547797a-84ef-4216-9f5d-53b2d7d7fc5a
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app.kubernetes.io/component: backstage
app.kubernetes.io/instance: backstage
app.kubernetes.io/name: backstage
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
annotations:
checksum/app-config: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
creationTimestamp: null
labels:
app.kubernetes.io/component: backstage
app.kubernetes.io/instance: backstage
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: backstage
helm.sh/chart: backstage-1.1.0
spec:
containers:
- command:
- node
- packages/backend
env:
- name: APP_CONFIG_backend_listen_port
value: "7007"
image: ghcr.io/backstage/backstage:latest
imagePullPolicy: Always
name: backstage-backend
ports:
- containerPort: 7007
name: backend
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: default
serviceAccountName: default
terminationGracePeriodSeconds: 30
status:
availableReplicas: 1
conditions:
- lastTransitionTime: "2023-06-03T15:14:17Z"
lastUpdateTime: "2023-06-03T15:14:17Z"
message: Deployment has minimum availability.
reason: MinimumReplicasAvailable
status: "True"
type: Available
- lastTransitionTime: "2023-06-03T15:13:31Z"
lastUpdateTime: "2023-06-03T15:14:17Z"
message: ReplicaSet "backstage-c564d4656" has successfully progressed.
reason: NewReplicaSetAvailable
status: "True"
type: Progressing
observedGeneration: 1
readyReplicas: 1
replicas: 1
updatedReplicas: 1
Seeing no Volumes nor Database connections, I decided to bounce the pod and see if all the changes would be lost
builder@DESKTOP-72D2D9T:~/Workspaces/jekyll-blog$ kubectl delete pod -l app.kubernetes.io/instance=backstage
pod "backstage-c564d4656-sldpz" deleted
builder@DESKTOP-72D2D9T:~/Workspaces/jekyll-blog$ kubectl port-forward svc/backstage 7007:7007
Forwarding from 127.0.0.1:7007 -> 7007
Forwarding from [::1]:7007 -> 7007
and, indeed, it was emptied
To enable data persistence, we can use PostgreSQL
I’ll create a new user
postgres@isaac-MacBookAir:~$ createuser --pwprompt backstage
Enter password for new role:
Enter it again:
Then I’ll give it elevated permissions so it can presumably create a database on the cluster for its work
postgres@isaac-MacBookAir:~$ psql
psql (12.15 (Ubuntu 12.15-0ubuntu0.20.04.1))
Type "help" for help.
postgres=# ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO backstage;
ALTER DEFAULT PRIVILEGES
postgres=# ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO backstage;
ALTER DEFAULT PRIVILEGES
postgres=# CREATE USER backstage WITH SUPERUSER;
ERROR: role "backstage" already exists
postgres=# ALTER USER backstage WITH SUPERUSER;
ALTER ROLE
postgres=# \q
I’ll want to use IPv4 since this host is in a different cluster (192.168.1.78).
Let’s try first using the built in PostgreSQL container
$ cat backstage-values.yaml
postgresql:
enabled: true
$ helm install backstage -f backstage-values.yaml backstage/backstage
NAME: backstage
LAST DEPLOYED: Sat Jun 3 10:46:26 2023
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
I can now see it running with its own PostgreSQL container
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
backstage-d55bbf7df-76pqz 1/1 Running 0 52s
backstage-postgresql-0 1/1 Running 0 52s
Interestingly enough, I tried to add a component, restart the pod and come back only to find it was wiped out.
These leads me to believe the component information is not stored in the PostgresSQL DB.
Though, viewing the logs I found some indication it was looking for absent local files
{"level":"info","message":"Listening on :7007","service":"backstage"}
{"entity":"location:default/generated-eeed3503740b7c4b80f2aad3e417fafee7a3803d","level":"warn","location":"file:/examples/entities.yaml","message":"file /examples/entities.yaml does not exist","plugin":"catalog","service":"backstage","type":"plugin"}
{"entity":"location:default/generated-c4d4a3f82d0b7ecef1bd7d6a1991be94fded46aa","level":"warn","location":"file:/examples/template/template.yaml","message":"file /examples/template/template.yaml does not exist","plugin":"catalog","service":"backstage","type":"plugin"}
{"entity":"location:default/generated-0ca6551527608b8e42ccccd463f27d4113d35ff1","level":"warn","location":"file:/examples/org.yaml","message":"file /examples/org.yaml does not exist","plugin":"catalog","service":"backstage","type":"plugin"}
{"documentType":"software-catalog","level":"info","message":"Collating documents for software-catalog via DefaultCatalogCollatorFactory","plugin":"search","service":"backstage","type":"plugin"}
Local Install
First, we need nvm if missing
builder@builder-T100:~$ which nvm
builder@builder-T100:~$ curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 15916 100 15916 0 0 81204 0 --:--:-- --:--:-- --:--:-- 81204
=> Downloading nvm from git to '/home/builder/.nvm'
=> Cloning into '/home/builder/.nvm'...
remote: Enumerating objects: 360, done.
remote: Counting objects: 100% (360/360), done.
remote: Compressing objects: 100% (306/306), done.
remote: Total 360 (delta 40), reused 170 (delta 28), pack-reused 0
Receiving objects: 100% (360/360), 219.95 KiB | 4.23 MiB/s, done.
Resolving deltas: 100% (40/40), done.
* (HEAD detached at FETCH_HEAD)
master
=> Compressing and cleaning up git repository
=> Appending nvm source string to /home/builder/.bashrc
=> Appending bash_completion source string to /home/builder/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
I can now install the LTS version of Node
builder@builder-T100:~$ nvm list
N/A
iojs -> N/A (default)
node -> stable (-> N/A) (default)
unstable -> N/A (default)
builder@builder-T100:~$ nvm install 18.16.0
Downloading and installing node v18.16.0...
Downloading https://nodejs.org/dist/v18.16.0/node-v18.16.0-linux-x64.tar.xz...
#################################################################################################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v18.16.0 (npm v9.5.1)
Creating default alias: default -> 18.16.0 (-> v18.16.0)
builder@builder-T100:~$ nvm install --lts
Installing latest LTS version.
v18.16.0 is already installed.
Now using node v18.16.0 (npm v9.5.1)
Next we need yarn
installed
builder@builder-T100:~/backstage$ npm install --global yarn
added 1 package in 827ms
We’ll now use npx
to create the Node package
builder@builder-T100:~/backstage$ npx @backstage/create-app@latest
? Enter a name for the app [required] backstage
Creating the app...
Checking if the directory is available:
checking backstage ✔
Creating a temporary app directory:
creating temporary directory ✔
Preparing files:
copying .dockerignore ✔
templating .eslintrc.js.hbs ✔
templating .gitignore.hbs ✔
copying .prettierignore ✔
copying README.md ✔
copying app-config.local.yaml ✔
copying app-config.production.yaml ✔
templating app-config.yaml.hbs ✔
templating backstage.json.hbs ✔
templating catalog-info.yaml.hbs ✔
copying lerna.json ✔
templating package.json.hbs ✔
copying tsconfig.json ✔
copying yarn.lock ✔
copying README.md ✔
copying entities.yaml ✔
copying org.yaml ✔
copying template.yaml ✔
copying catalog-info.yaml ✔
copying index.js ✔
copying package.json ✔
copying README.md ✔
templating .eslintrc.js.hbs ✔
copying Dockerfile ✔
copying README.md ✔
templating package.json.hbs ✔
copying index.test.ts ✔
copying index.ts ✔
copying types.ts ✔
copying app.ts ✔
copying auth.ts ✔
copying catalog.ts ✔
copying proxy.ts ✔
copying scaffolder.ts ✔
templating search.ts.hbs ✔
copying techdocs.ts ✔
copying .eslintignore ✔
templating .eslintrc.js.hbs ✔
copying cypress.json ✔
templating package.json.hbs ✔
copying android-chrome-192x192.png ✔
copying apple-touch-icon.png ✔
copying favicon-16x16.png ✔
copying favicon-32x32.png ✔
copying favicon.ico ✔
copying index.html ✔
copying manifest.json ✔
copying robots.txt ✔
copying safari-pinned-tab.svg ✔
copying .eslintrc.json ✔
copying app.js ✔
copying App.test.tsx ✔
copying App.tsx ✔
copying apis.ts ✔
copying index.tsx ✔
copying setupTests.ts ✔
copying LogoFull.tsx ✔
copying LogoIcon.tsx ✔
copying Root.tsx ✔
copying index.ts ✔
copying EntityPage.tsx ✔
copying SearchPage.tsx ✔
Moving to final location:
moving backstage ✔
Installing dependencies:
determining yarn version ✔
executing yarn install ✔
executing yarn tsc ✔
🥇 Successfully created backstage
All set! Now you might want to:
Run the app: cd backstage && yarn dev
Set up the software catalog: https://backstage.io/docs/features/software-catalog/configuration
Add authentication: https://backstage.io/docs/auth/
We can now use yarn dev
to build and run both the front-end and back-end processes.
builder@builder-T100:~/backstage/backstage$ yarn dev
yarn run v1.22.19
$ concurrently "yarn start" "yarn start-backend"
$ yarn workspace backend start
$ yarn workspace app start
$ backstage-cli package start
$ backstage-cli package start
[1] Build succeeded
[0] Loaded config from app-config.yaml
[0] fatal: not a git repository (or any of the parent directories): .git
[0] WARNING: Failed to read git commit, ExitCodeError: Command 'git rev-parse HEAD' exited with code 128
[0] fatal: not a git repository (or any of the parent directories): .git
[0] WARNING: Failed to describe git version, ExitCodeError: Command 'git describe --always' exited with code 128
[0] <i> [webpack-dev-server] Project is running at:
[0] <i> [webpack-dev-server] Loopback: http://localhost:3000/, http://127.0.0.1:3000/
[0] <i> [webpack-dev-server] Content not from webpack is served from '/home/builder/backstage/backstage/packages/app/public' directory
[0] <i> [webpack-dev-server] 404s will fallback to '/index.html'
[1] Loaded config from app-config.yaml
[1] 2023-06-07T11:21:51.860Z backstage info Found 2 new secrets in config that will be redacted
[1] 2023-06-07T11:21:51.868Z backstage info Created UrlReader predicateMux{readers=azure{host=dev.azure.com,authed=false},bitbucketCloud{host=bitbucket.org,authed=false},github{host=github.com,authed=false},gitlab{host=gitlab.com,authed=false},awsS3{host=amazonaws.com,authed=false},fetch{}
[1] 2023-06-07T11:21:51.891Z catalog info Performing database migration type=plugin
[1] 2023-06-07T11:21:52.040Z auth info Configuring "database" as KeyStore provider type=plugin
[1] 2023-06-07T11:21:52.055Z techdocs info Creating Local publisher for TechDocs type=plugin
[1] 2023-06-07T11:21:52.059Z search info Added DefaultCatalogCollatorFactory collator factory for type software-catalog type=plugin
[1] 2023-06-07T11:21:52.059Z search info Added DefaultTechDocsCollatorFactory collator factory for type techdocs type=plugin
[1] 2023-06-07T11:21:52.060Z search info Starting all scheduled search tasks. type=plugin
[1] 2023-06-07T11:21:52.073Z backstage info Listening on :7007
[1] 2023-06-07T11:21:52.083Z backstage info Task worker starting: search_index_software_catalog, {"version":2,"cadence":"PT10M","initialDelayDuration":"PT3S","timeoutAfterDuration":"PT15M"} type=taskManager task=search_index_software_catalog
[1] 2023-06-07T11:21:52.083Z backstage info Task worker starting: search_index_techdocs, {"version":2,"cadence":"PT10M","initialDelayDuration":"PT3S","timeoutAfterDuration":"PT15M"} type=taskManager task=search_index_techdocs
[1] 2023-06-07T11:21:55.086Z search info Collating documents for software-catalog via DefaultCatalogCollatorFactory type=plugin documentType=software-catalog
[1] 2023-06-07T11:21:55.097Z search info Collating documents for techdocs via DefaultTechDocsCollatorFactory type=plugin documentType=techdocs
[1] 2023-06-07T11:21:55.119Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:21:55 +0000] "GET /api/catalog/entities?filter=metadata.annotations.backstage.io%2Ftechdocs-ref&fields=kind,namespace,metadata.annotations,metadata.name,metadata.title,metadata.namespace,spec.type,spec.lifecycle,relations&offset=0&limit=500 HTTP/1.1" 200 2 "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:21:55.124Z search warn Index for techdocs was not created: indexer received 0 documents type=plugin documentType=techdocs
[1] 2023-06-07T11:21:55.125Z search info Collating documents for techdocs succeeded type=plugin documentType=techdocs
[1] 2023-06-07T11:21:55.128Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:21:55 +0000] "GET /api/catalog/entities?offset=0&limit=500 HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:21:55.139Z search info Collating documents for software-catalog succeeded type=plugin documentType=software-catalog
[0] WARNING in ../../node_modules/react-router-dom/dist/index.js 269:33-54
[0] export 'startTransition' (imported as 'React') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version)
[0]
[0] WARNING in ../../node_modules/react-router-dom/dist/index.js 303:33-54
[0] export 'startTransition' (imported as 'React') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version)
[0]
[0] WARNING in ../../node_modules/react-router-dom/dist/index.js 331:33-54
[0] export 'startTransition' (imported as 'React') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version)
[0]
[0] WARNING in ../../node_modules/react-router/dist/index.js 836:33-54
[0] export 'startTransition' (imported as 'React') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version)
[0]
[0] WARNING in ../../node_modules/react-router/dist/index.js 916:33-54
[0] export 'startTransition' (imported as 'React') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version)
[0]
[0] webpack compiled with 5 warnings
However, by default, it will only serve up to localhost/127.0.0.1.
So we cannot reach it externally
We can see those settins in app-config
builder@builder-T100:~/backstage/backstage$ cat app-config.yaml | head -n10
app:
title: Scaffolded Backstage App
baseUrl: http://localhost:3000
organization:
name: My Company
backend:
# Used for enabling authentication, secret is shared by all backend plugins
# See https://backstage.io/docs/auth/service-to-service-auth for
Let’s change that and try again
builder@builder-T100:~/backstage/backstage$ cat app-config.yaml | head -n10
app:
title: Scaffolded Backstage App
baseUrl: http://192.168.1.99:3000
organization:
name: Freshbrewed
backend:
# Used for enabling authentication, secret is shared by all backend plugins
# See https://backstage.io/docs/auth/service-to-service-auth for
Fire up yarn
builder@builder-T100:~/backstage/backstage$ yarn dev
yarn run v1.22.19
$ concurrently "yarn start" "yarn start-backend"
$ yarn workspace app start
$ yarn workspace backend start
$ backstage-cli package start
$ backstage-cli package start
[1] Build succeeded
[0] Loaded config from app-config.yaml
[0] fatal: not a git repository (or any of the parent directories): .git
[0] WARNING: Failed to read git commit, ExitCodeError: Command 'git rev-parse HEAD' exited with code 128
[0] fatal: not a git repository (or any of the parent directories): .git
[0] WARNING: Failed to describe git version, ExitCodeError: Command 'git describe --always' exited with code 128
[0] <i> [webpack-dev-server] Project is running at:
[0] <i> [webpack-dev-server] On Your Network (IPv4): http://192.168.1.99:3000/
[0] <i> [webpack-dev-server] Content not from webpack is served from '/home/builder/backstage/backstage/packages/app/public' directory
[0] <i> [webpack-dev-server] 404s will fallback to '/index.html'
[1] Loaded config from app-config.yaml
[1] 2023-06-07T11:28:27.297Z backstage info Found 2 new secrets in config that will be redacted
[1] 2023-06-07T11:28:27.305Z backstage info Created UrlReader predicateMux{readers=azure{host=dev.azure.com,authed=false},bitbucketCloud{host=bitbucket.org,authed=false},github{host=github.com,authed=false},gitlab{host=gitlab.com,authed=false},awsS3{host=amazonaws.com,authed=false},fetch{}
[1] 2023-06-07T11:28:27.329Z catalog info Performing database migration type=plugin
[1] 2023-06-07T11:28:27.476Z auth info Configuring "database" as KeyStore provider type=plugin
[1] 2023-06-07T11:28:27.489Z techdocs info Creating Local publisher for TechDocs type=plugin
[1] 2023-06-07T11:28:27.493Z search info Added DefaultCatalogCollatorFactory collator factory for type software-catalog type=plugin
[1] 2023-06-07T11:28:27.493Z search info Added DefaultTechDocsCollatorFactory collator factory for type techdocs type=plugin
[1] 2023-06-07T11:28:27.494Z search info Starting all scheduled search tasks. type=plugin
[1] 2023-06-07T11:28:27.506Z backstage info Listening on :7007
[1] 2023-06-07T11:28:27.513Z backstage info Task worker starting: search_index_software_catalog, {"version":2,"cadence":"PT10M","initialDelayDuration":"PT3S","timeoutAfterDuration":"PT15M"} type=taskManager task=search_index_software_catalog
[1] 2023-06-07T11:28:27.514Z backstage info Task worker starting: search_index_techdocs, {"version":2,"cadence":"PT10M","initialDelayDuration":"PT3S","timeoutAfterDuration":"PT15M"} type=taskManager task=search_index_techdocs
[1] 2023-06-07T11:28:30.516Z search info Collating documents for software-catalog via DefaultCatalogCollatorFactory type=plugin documentType=software-catalog
[1] 2023-06-07T11:28:30.530Z search info Collating documents for techdocs via DefaultTechDocsCollatorFactory type=plugin documentType=techdocs
[1] 2023-06-07T11:28:30.551Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:28:30 +0000] "GET /api/catalog/entities?filter=metadata.annotations.backstage.io%2Ftechdocs-ref&fields=kind,namespace,metadata.annotations,metadata.name,metadata.title,metadata.namespace,spec.type,spec.lifecycle,relations&offset=0&limit=500 HTTP/1.1" 200 2 "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:28:30.556Z search warn Index for techdocs was not created: indexer received 0 documents type=plugin documentType=techdocs
[1] 2023-06-07T11:28:30.557Z search info Collating documents for techdocs succeeded type=plugin documentType=techdocs
[1] 2023-06-07T11:28:30.559Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:28:30 +0000] "GET /api/catalog/entities?offset=0&limit=500 HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:28:30.572Z search info Collating documents for software-catalog succeeded type=plugin documentType=software-catalog
[0] WARNING in ../../node_modules/react-router-dom/dist/index.js 269:33-54
[0] export 'startTransition' (imported as 'React') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version)
[0]
[0] WARNING in ../../node_modules/react-router-dom/dist/index.js 303:33-54
[0] export 'startTransition' (imported as 'React') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version)
[0]
[0] WARNING in ../../node_modules/react-router-dom/dist/index.js 331:33-54
[0] export 'startTransition' (imported as 'React') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version)
[0]
[0] WARNING in ../../node_modules/react-router/dist/index.js 836:33-54
[0] export 'startTransition' (imported as 'React') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version)
[0]
[0] WARNING in ../../node_modules/react-router/dist/index.js 916:33-54
[0] export 'startTransition' (imported as 'React') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version)
[0]
[0] webpack compiled with 5 warnings
I get a little farther
Killing yarn left me with a broken page
This seems to be a bug introduced in the last day.
Note: if you do yarn install && yarn dev
then the package.json fix takes effect
From source
I pulled down the source from Github and set the package.json to do a work-around the current bug in package.json
"resolutions": {
"@types/react": "^17",
"@types/react-dom": "^17",
"react-router": "6.11.2",
"react-router-dom": "6.11.2"
},
I did an install and launch
builder@builder-T100:~/backstage-source$ yarn install
➤ YN0000: ┌ Resolution step
➤ YN0002: │ @apollo/explorer@npm:2.0.2 [50250] doesn't provide graphql (p506f7), requested by graphql-ws
➤ YN0002: │ @apollo/explorer@npm:2.0.2 [50250] doesn't provide graphql (p91e73), requested by subscriptions-transport-ws
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide @material-ui/core (p80ba2), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react (pa4f5f), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react (p6674a), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react (pd565f), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react (p7c746), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react (pd62e5), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react (p74657), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react-dom (pfec59), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react-dom (p88e1f), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react-dom (pe4fff), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react-dom (pd783e), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react-dom (pb6fb7), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react-dom (p958e8), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react-router-dom (p9a431), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react-router-dom (p4376a), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react-router-dom (pf2a6d), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react-router-dom (pd9315), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide react-router-dom (p57ba4), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide typescript (p27099), requested by eslint-plugin-deprecation
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide typescript (pde6e7), requested by fork-ts-checker-webpack-plugin
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide typescript (p15e3a), requested by rollup-plugin-dts
➤ YN0002: │ @backstage/cli@workspace:packages/cli doesn't provide typescript (p023ef), requested by ts-node
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide @material-ui/core (pc85ca), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react (pf3b8a), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react (p1da7b), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react (p83929), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react (p68578), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react (pb82bc), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react-dom (p9fc4c), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react-dom (p142c0), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react-dom (pad141), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react-dom (pb690c), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react-dom (p55a11), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react-router-dom (p729d0), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react-router-dom (p96e8f), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react-router-dom (pb2ca8), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide react-router-dom (p3fc28), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide typescript (pbb1c7), requested by eslint-plugin-deprecation
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide typescript (p60911), requested by fork-ts-checker-webpack-plugin
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide typescript (p7e86d), requested by rollup-plugin-dts
➤ YN0002: │ @backstage/cli@workspace:packages/cli [07278] doesn't provide typescript (p4c081), requested by ts-node
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide @material-ui/core (p0bce4), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide react (p7924c), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide react (p93315), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide react (p5e4b1), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide react (pba854), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide react-dom (p9b2e0), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide react-dom (p91bc3), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide react-dom (paad57), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide react-dom (pa860c), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide react-router-dom (pff84d), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide react-router-dom (p6bf1e), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide react-router-dom (pddfb3), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide typescript (pb1d6a), requested by eslint-plugin-deprecation
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide typescript (p29b8e), requested by fork-ts-checker-webpack-plugin
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide typescript (p599b4), requested by rollup-plugin-dts
➤ YN0002: │ @backstage/cli@workspace:packages/cli [11fe3] doesn't provide typescript (p29bf1), requested by ts-node
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide @material-ui/core (p828b2), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide react (p42e22), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide react (p36a6f), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide react (p45274), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide react (p24909), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide react-dom (p39439), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide react-dom (p0a3fb), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide react-dom (pdf5ce), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide react-dom (p13979), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide react-router-dom (p7c0ec), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide react-router-dom (p7364d), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide react-router-dom (p17621), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide typescript (p7ca09), requested by eslint-plugin-deprecation
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide typescript (pe8130), requested by fork-ts-checker-webpack-plugin
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide typescript (p18d9f), requested by rollup-plugin-dts
➤ YN0002: │ @backstage/cli@workspace:packages/cli [31634] doesn't provide typescript (p9fad5), requested by ts-node
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide @material-ui/core (p0d1c7), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react (pdd8af), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react (p32b13), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react (pd0b1d), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react (p8d412), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react (p8f188), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react-dom (pf1526), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react-dom (pf9823), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react-dom (pc0131), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react-dom (pce5ee), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react-dom (p98914), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react-router-dom (pc91f2), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react-router-dom (p16434), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react-router-dom (p08523), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide react-router-dom (p90d63), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide typescript (p1a335), requested by eslint-plugin-deprecation
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide typescript (peab6b), requested by fork-ts-checker-webpack-plugin
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide typescript (p00a9a), requested by rollup-plugin-dts
➤ YN0002: │ @backstage/cli@workspace:packages/cli [39bca] doesn't provide typescript (pfa13c), requested by ts-node
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide @material-ui/core (p52369), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide react (p5d35c), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide react (pb97d0), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide react (pe54a9), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide react (p4a8ff), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide react-dom (pdff3a), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide react-dom (p9d7c4), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide react-dom (p36d19), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide react-dom (pb5d7b), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide react-router-dom (p790c9), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide react-router-dom (pba3ba), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide react-router-dom (p545e4), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide typescript (p3b15e), requested by eslint-plugin-deprecation
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide typescript (pf1a34), requested by fork-ts-checker-webpack-plugin
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide typescript (p273c5), requested by rollup-plugin-dts
➤ YN0002: │ @backstage/cli@workspace:packages/cli [4b958] doesn't provide typescript (pb0a01), requested by ts-node
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide @material-ui/core (p254c2), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide react (p1d406), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide react (p53084), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide react (pd9ed6), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide react (pa32f7), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide react-dom (p85a5d), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide react-dom (p421ee), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide react-dom (pd2d9a), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide react-dom (p8e0fa), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide react-router-dom (p26439), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide react-router-dom (pd3afe), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide react-router-dom (p79f2d), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide typescript (pf921d), requested by eslint-plugin-deprecation
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide typescript (pf0609), requested by fork-ts-checker-webpack-plugin
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide typescript (p86bb0), requested by rollup-plugin-dts
➤ YN0002: │ @backstage/cli@workspace:packages/cli [70735] doesn't provide typescript (pe5d81), requested by ts-node
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide @material-ui/core (pb3590), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide react (p696da), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide react (p166c3), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide react (pd2a4b), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide react (peb7dd), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide react-dom (pea224), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide react-dom (pa24bc), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide react-dom (p6bb98), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide react-dom (pf7271), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide react-router-dom (p1bcde), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide react-router-dom (pa69b6), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide react-router-dom (pf4bf3), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide typescript (p5ec52), requested by eslint-plugin-deprecation
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide typescript (pa2ffb), requested by fork-ts-checker-webpack-plugin
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide typescript (ped3dc), requested by rollup-plugin-dts
➤ YN0002: │ @backstage/cli@workspace:packages/cli [aad9f] doesn't provide typescript (pc2e01), requested by ts-node
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide @material-ui/core (peaced), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react (pc8f1d), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react (pde5f1), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react (p53497), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react (pf8dac), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react (p9a954), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react (pe73b7), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react-dom (p73c4c), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react-dom (p7b78a), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react-dom (p26b3a), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react-dom (p3d2c0), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react-dom (p3aecc), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react-dom (pbe625), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react-router-dom (p17736), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react-router-dom (p8db20), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react-router-dom (pe5e12), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react-router-dom (p132e8), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide react-router-dom (pcb649), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide typescript (pb739e), requested by eslint-plugin-deprecation
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide typescript (pf10ca), requested by fork-ts-checker-webpack-plugin
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide typescript (p0f506), requested by rollup-plugin-dts
➤ YN0002: │ @backstage/cli@workspace:packages/cli [b9c15] doesn't provide typescript (p1b2eb), requested by ts-node
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide @material-ui/core (p7ae90), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide react (pc5fe3), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide react (p1b33e), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide react (p4e60a), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide react (pe7331), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide react-dom (pc0ff4), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide react-dom (pf07ee), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide react-dom (pb21b0), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide react-dom (pb0543), requested by @backstage/theme
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide react-router-dom (p0b227), requested by @backstage/test-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide react-router-dom (p1c4c6), requested by @backstage/core-components
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide react-router-dom (p77285), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide typescript (p60676), requested by eslint-plugin-deprecation
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide typescript (pd2f01), requested by fork-ts-checker-webpack-plugin
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide typescript (p884fd), requested by rollup-plugin-dts
➤ YN0002: │ @backstage/cli@workspace:packages/cli [c856b] doesn't provide typescript (p9a6f5), requested by ts-node
➤ YN0002: │ @backstage/codemods@workspace:packages/codemods doesn't provide @babel/preset-env (p3ff5a), requested by jscodeshift
➤ YN0060: │ @backstage/codemods@workspace:packages/codemods provides jscodeshift (p6b040) with version 0.14.0, which doesn't satisfy what jscodeshift-add-imports and some of its descendants request
➤ YN0002: │ @backstage/codemods@workspace:packages/codemods doesn't provide typescript (p702a6), requested by ts-node
➤ YN0002: │ @backstage/config@workspace:packages/config doesn't provide react (paa05e), requested by @backstage/test-utils
➤ YN0002: │ @backstage/config@workspace:packages/config doesn't provide react-dom (pd0037), requested by @backstage/test-utils
➤ YN0002: │ @backstage/config@workspace:packages/config doesn't provide react-router-dom (p23282), requested by @backstage/test-utils
➤ YN0002: │ @backstage/core-components@npm:0.12.5 [b0aa7] doesn't provide @date-io/core (pe9176), requested by @material-table/core
➤ YN0002: │ @backstage/create-app@workspace:packages/create-app doesn't provide typescript (p159b4), requested by ts-node
➤ YN0002: │ @backstage/integration-aws-node@workspace:packages/integration-aws-node doesn't provide react (p930b9), requested by @backstage/test-utils
➤ YN0002: │ @backstage/integration-aws-node@workspace:packages/integration-aws-node doesn't provide react-dom (p1af83), requested by @backstage/test-utils
➤ YN0002: │ @backstage/integration-aws-node@workspace:packages/integration-aws-node doesn't provide react-router-dom (p6830b), requested by @backstage/test-utils
➤ YN0002: │ @backstage/plugin-analytics-module-ga4@workspace:plugins/analytics-module-ga4 doesn't provide @material-ui/core (pbf6ae), requested by @backstage/theme
➤ YN0060: │ @backstage/plugin-bazaar@workspace:plugins/bazaar provides luxon (p4c0a7) with version 3.3.0, which doesn't satisfy what @date-io/luxon requests
➤ YN0002: │ @backstage/plugin-bazaar@workspace:plugins/bazaar doesn't provide prop-types (p94096), requested by @material-ui/pickers
➤ YN0002: │ @backstage/plugin-bitrise@workspace:plugins/bitrise doesn't provide prop-types (p8b933), requested by recharts
➤ YN0002: │ @backstage/plugin-catalog-backend-module-unprocessed@workspace:plugins/catalog-backend-module-unprocessed doesn't provide express (p61736), requested by express-promise-router
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide @testing-library/dom (pacca7), requested by @testing-library/user-event
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-dom (p3746a), requested by @backstage/test-utils
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-dom (p464df), requested by @backstage/core-components
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-dom (p9e697), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-dom (p43d7a), requested by @backstage/theme
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-dom (p659ac), requested by @material-ui/core
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-dom (p278be), requested by @material-ui/icons
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-dom (p745d6), requested by @material-ui/lab
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-dom (p532c2), requested by react-use
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-dom (p96b05), requested by @testing-library/react
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-router-dom (pfdd66), requested by @backstage/test-utils
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-router-dom (p8112e), requested by @backstage/core-components
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities doesn't provide react-router-dom (p6e8eb), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide @testing-library/dom (pcda51), requested by @testing-library/user-event
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-dom (pc1849), requested by @testing-library/react
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-dom (p47230), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-dom (p044c6), requested by @backstage/test-utils
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-dom (p6260b), requested by react-use
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-dom (pb570b), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-dom (p26987), requested by @backstage/theme
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-dom (pbed39), requested by @material-ui/core
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-dom (pb2f66), requested by @material-ui/icons
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-dom (p0b576), requested by @material-ui/lab
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-dom (p70f6a), requested by @backstage/core-components
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-dom (pc8c1f), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-router-dom (p2a479), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-router-dom (pa454b), requested by @backstage/test-utils
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-router-dom (p39397), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-router-dom (p09b22), requested by @backstage/core-components
➤ YN0002: │ @backstage/plugin-catalog-unprocessed-entities@workspace:plugins/catalog-unprocessed-entities [d47fc] doesn't provide react-router-dom (p09095), requested by @backstage/dev-utils
➤ YN0060: │ @backstage/plugin-cicd-statistics@workspace:plugins/cicd-statistics provides luxon (p86a00) with version 3.3.0, which doesn't satisfy what @date-io/luxon requests
➤ YN0060: │ @backstage/plugin-cicd-statistics@workspace:plugins/cicd-statistics [d38e0] provides luxon (p30055) with version 3.3.0, which doesn't satisfy what @date-io/luxon requests
➤ YN0002: │ @backstage/plugin-code-coverage@workspace:plugins/code-coverage doesn't provide prop-types (pdd8b4), requested by recharts
➤ YN0002: │ @backstage/plugin-code-coverage@workspace:plugins/code-coverage [d47fc] doesn't provide prop-types (pa6b7d), requested by recharts
➤ YN0002: │ @backstage/plugin-cost-insights@workspace:plugins/cost-insights doesn't provide prop-types (pc3c27), requested by recharts
➤ YN0002: │ @backstage/plugin-cost-insights@workspace:plugins/cost-insights [d47fc] doesn't provide prop-types (pe320d), requested by recharts
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools doesn't provide @testing-library/dom (p670e2), requested by @testing-library/user-event
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools doesn't provide react-dom (p4f715), requested by @backstage/test-utils
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools doesn't provide react-dom (p865b9), requested by @backstage/core-components
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools doesn't provide react-dom (p1fc87), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools doesn't provide react-dom (p71bb7), requested by @backstage/theme
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools doesn't provide react-dom (p4f795), requested by @material-ui/core
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools doesn't provide react-dom (p1d3e1), requested by @material-ui/icons
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools doesn't provide react-dom (p81641), requested by @material-ui/lab
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools doesn't provide react-dom (pe6694), requested by react-use
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools doesn't provide react-dom (p6fa6a), requested by @testing-library/react
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools doesn't provide react-dom (pfe59a), requested by react-json-view
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide @testing-library/dom (p60743), requested by @testing-library/user-event
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (paa18b), requested by @testing-library/react
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (p0aaf4), requested by react-use
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (pcd908), requested by @backstage/theme
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (pf92c9), requested by @material-ui/core
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (p9c779), requested by @material-ui/icons
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (p877b6), requested by @material-ui/lab
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (pc5780), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (p113b7), requested by @backstage/test-utils
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (p4888e), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (p6e146), requested by @backstage/core-components
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (pa9c98), requested by @backstage/plugin-permission-react
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (pad9cd), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/plugin-devtools@workspace:plugins/devtools [d47fc] doesn't provide react-dom (pe1920), requested by react-json-view
➤ YN0002: │ @backstage/plugin-git-release-manager@workspace:plugins/git-release-manager doesn't provide prop-types (pa45ea), requested by recharts
➤ YN0002: │ @backstage/plugin-graphql-backend@workspace:plugins/graphql-backend doesn't provide react (p81d13), requested by @backstage/plugin-catalog-graphql
➤ YN0002: │ @backstage/plugin-graphql-backend@workspace:plugins/graphql-backend doesn't provide react-dom (pba46f), requested by @backstage/plugin-catalog-graphql
➤ YN0002: │ @backstage/plugin-graphql-backend@workspace:plugins/graphql-backend doesn't provide react-router-dom (p79731), requested by @backstage/plugin-catalog-graphql
➤ YN0002: │ @backstage/plugin-graphql-voyager@workspace:plugins/graphql-voyager doesn't provide graphql (pd0213), requested by graphql-voyager
➤ YN0002: │ @backstage/plugin-home@npm:0.5.2 [498ff] doesn't provide @rjsf/core (p7c37e), requested by @rjsf/material-ui
➤ YN0002: │ @backstage/plugin-home@workspace:plugins/home doesn't provide @rjsf/core (pfbaf4), requested by @rjsf/material-ui
➤ YN0002: │ @backstage/plugin-home@workspace:plugins/home [d47fc] doesn't provide @rjsf/core (pd9b59), requested by @rjsf/material-ui
➤ YN0060: │ @backstage/plugin-ilert@workspace:plugins/ilert provides luxon (pd6bdb) with version 3.3.0, which doesn't satisfy what @date-io/luxon requests
➤ YN0002: │ @backstage/plugin-kafka-backend@workspace:plugins/kafka-backend doesn't provide jest (p91a08), requested by jest-when
➤ YN0002: │ @backstage/plugin-kafka@workspace:plugins/kafka doesn't provide jest (pe7281), requested by jest-when
➤ YN0002: │ @backstage/plugin-kafka@workspace:plugins/kafka [d47fc] doesn't provide jest (pcac40), requested by jest-when
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb doesn't provide @testing-library/dom (p88fae), requested by @testing-library/user-event
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb doesn't provide react-dom (p94782), requested by @backstage/test-utils
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb doesn't provide react-dom (p9fa3a), requested by @backstage/core-components
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb doesn't provide react-dom (ped50b), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide @testing-library/dom (p5160e), requested by @testing-library/user-event
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide react-dom (p2c39c), requested by @testing-library/react
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide react-dom (pf17ac), requested by react-use
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide react-dom (pb8a1d), requested by @backstage/theme
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide react-dom (p21587), requested by @material-ui/core
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide react-dom (p9db41), requested by @material-ui/icons
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide react-dom (p8d34c), requested by @material-ui/lab
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide react-dom (pf29c0), requested by @backstage/core-plugin-api
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide react-dom (p73761), requested by @backstage/test-utils
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide react-dom (p5e420), requested by @backstage/core-app-api
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide react-dom (p0497f), requested by @backstage/core-components
➤ YN0002: │ @backstage/plugin-puppetdb@workspace:plugins/puppetdb [d47fc] doesn't provide react-dom (p0eecb), requested by @backstage/dev-utils
➤ YN0002: │ @backstage/plugin-scaffolder-backend-module-rails@workspace:plugins/scaffolder-backend-module-rails doesn't provide jest (p15e8b), requested by jest-when
➤ YN0002: │ @backstage/plugin-scaffolder-backend@workspace:plugins/scaffolder-backend doesn't provide jest (peb325), requested by jest-when
➤ YN0060: │ @backstage/plugin-scaffolder-react@workspace:plugins/scaffolder-react provides @rjsf/core (pfcf32) with version 3.2.1, which doesn't satisfy what @rjsf/material-ui requests
➤ YN0060: │ @backstage/plugin-scaffolder-react@workspace:plugins/scaffolder-react [d47fc] provides @rjsf/core (p660c9) with version 3.2.1, which doesn't satisfy what @rjsf/material-ui requests
➤ YN0060: │ @backstage/plugin-scaffolder-react@workspace:plugins/scaffolder-react [e1917] provides @rjsf/core (pb5f0e) with version 3.2.1, which doesn't satisfy what @rjsf/material-ui requests
➤ YN0002: │ @backstage/plugin-techdocs-node@workspace:plugins/techdocs-node doesn't provide @aws-sdk/abort-controller (p02bea), requested by @aws-sdk/lib-storage
➤ YN0002: │ @backstage/plugin-xcmetrics@workspace:plugins/xcmetrics doesn't provide prop-types (p4b0d2), requested by recharts
➤ YN0002: │ @backstage/release-manifests@workspace:packages/release-manifests doesn't provide react (p0c4d7), requested by @backstage/test-utils
➤ YN0002: │ @backstage/release-manifests@workspace:packages/release-manifests doesn't provide react-dom (p2bef1), requested by @backstage/test-utils
➤ YN0002: │ @backstage/release-manifests@workspace:packages/release-manifests doesn't provide react-router-dom (pac0a9), requested by @backstage/test-utils
➤ YN0002: │ @backstage/repo-tools@workspace:packages/repo-tools doesn't provide openapi-types (p4fca6), requested by @apidevtools/swagger-parser
➤ YN0002: │ @backstage/repo-tools@workspace:packages/repo-tools [36a01] doesn't provide openapi-types (p86ab5), requested by @apidevtools/swagger-parser
➤ YN0002: │ @graphiql/react@npm:0.10.0 [5d586] doesn't provide @codemirror/language (pe2a85), requested by codemirror-graphql
➤ YN0002: │ @graphiql/react@npm:0.10.0 [5d586] doesn't provide graphql-ws (p38d2c), requested by @graphiql/toolkit
➤ YN0002: │ @graphiql/react@npm:0.10.0 [deeb5] doesn't provide @codemirror/language (pf4a0a), requested by codemirror-graphql
➤ YN0002: │ @graphiql/react@npm:0.10.0 [deeb5] doesn't provide graphql-ws (p7118b), requested by @graphiql/toolkit
➤ YN0002: │ @graphql-tools/graphql-tag-pluck@npm:7.4.0 [a7df1] doesn't provide @babel/core (p604a6), requested by @babel/plugin-syntax-import-assertions
➤ YN0002: │ @graphql-tools/graphql-tag-pluck@npm:7.5.0 [def44] doesn't provide @babel/core (p0cd60), requested by @babel/plugin-syntax-import-assertions
➤ YN0002: │ @internal/plugin-todo-list-common@workspace:plugins/example-todo-list-common doesn't provide react (p9ec8e), requested by @backstage/test-utils
➤ YN0002: │ @internal/plugin-todo-list-common@workspace:plugins/example-todo-list-common doesn't provide react (pb8d2c), requested by @backstage/dev-utils
➤ YN0002: │ @internal/plugin-todo-list-common@workspace:plugins/example-todo-list-common doesn't provide react-dom (p86b13), requested by @backstage/test-utils
➤ YN0002: │ @internal/plugin-todo-list-common@workspace:plugins/example-todo-list-common doesn't provide react-dom (p4b4b4), requested by @backstage/dev-utils
➤ YN0002: │ @internal/plugin-todo-list-common@workspace:plugins/example-todo-list-common doesn't provide react-router-dom (pf3f42), requested by @backstage/test-utils
➤ YN0002: │ @internal/plugin-todo-list-common@workspace:plugins/example-todo-list-common doesn't provide react-router-dom (p7a82c), requested by @backstage/dev-utils
➤ YN0060: │ @openapitools/openapi-generator-cli@npm:2.6.0 provides @nestjs/common (p3f9a0) with version 9.3.11, which doesn't satisfy what @nestjs/axios requests
➤ YN0002: │ @oriflame/backstage-plugin-score-card@npm:0.7.0 [d47fc] doesn't provide react-router-dom (p8e0aa), requested by @backstage/core-plugin-api
➤ YN0002: │ @oriflame/backstage-plugin-score-card@npm:0.7.0 [d47fc] doesn't provide react-router-dom (pf2156), requested by @backstage/version-bridge
➤ YN0002: │ @oriflame/backstage-plugin-score-card@npm:0.7.0 [d47fc] doesn't provide react-router-dom (p1b2ba), requested by @backstage/core-components
➤ YN0002: │ @oriflame/backstage-plugin-score-card@npm:0.7.0 [d47fc] doesn't provide react-router-dom (p986fc), requested by @backstage/plugin-catalog-react
➤ YN0002: │ @roadiehq/backstage-plugin-github-insights@npm:2.3.12 [d47fc] doesn't provide react-router-dom (p7a5af), requested by @backstage/core-plugin-api
➤ YN0002: │ @roadiehq/backstage-plugin-github-insights@npm:2.3.12 [d47fc] doesn't provide react-router-dom (pad661), requested by @backstage/plugin-catalog-react
➤ YN0002: │ @roadiehq/backstage-plugin-github-insights@npm:2.3.12 [d47fc] doesn't provide react-router-dom (p4ae95), requested by @backstage/integration-react
➤ YN0002: │ @roadiehq/backstage-plugin-github-pull-requests@npm:2.5.10 [d47fc] doesn't provide react-router-dom (pdfb21), requested by @backstage/core-plugin-api
➤ YN0002: │ @roadiehq/backstage-plugin-github-pull-requests@npm:2.5.10 [d47fc] doesn't provide react-router-dom (pa25cf), requested by @backstage/plugin-catalog-react
➤ YN0002: │ @roadiehq/backstage-plugin-github-pull-requests@npm:2.5.10 [d47fc] doesn't provide react-router-dom (p01bd7), requested by @backstage/plugin-home
➤ YN0002: │ @techdocs/cli@workspace:packages/techdocs-cli doesn't provide typescript (p6324f), requested by ts-node
➤ YN0002: │ @techdocs/cli@workspace:packages/techdocs-cli doesn't provide webpack (p54d19), requested by react-dev-utils
➤ YN0002: │ @types/rollup-plugin-postcss@npm:3.1.4 doesn't provide postcss (p881c4), requested by rollup-plugin-postcss
➤ YN0002: │ @types/terser-webpack-plugin@npm:5.2.0 doesn't provide webpack (p33c86), requested by terser-webpack-plugin
➤ YN0002: │ @whatwg-node/fetch@npm:0.8.1 doesn't provide @types/node (p07ead), requested by @whatwg-node/node-fetch
➤ YN0002: │ e2e-test@workspace:packages/e2e-test doesn't provide typescript (p6df66), requested by ts-node
➤ YN0060: │ example-app@workspace:packages/app provides @types/react (p3dc38) with version 17.0.52, which doesn't satisfy what @roadiehq/backstage-plugin-github-insights and some of its descendants request
➤ YN0060: │ example-app@workspace:packages/app provides cypress (pe6fa5) with version 10.11.0, which doesn't satisfy what @testing-library/cypress requests
➤ YN0002: │ example-app@workspace:packages/app doesn't provide eslint (p7ddec), requested by eslint-plugin-cypress
➤ YN0060: │ example-app@workspace:packages/app provides react (p97a62) with version 17.0.2, which doesn't satisfy what @backstage/core-components and some of its descendants request
➤ YN0060: │ example-app@workspace:packages/app provides react (p79e40) with version 17.0.2, which doesn't satisfy what @backstage/plugin-catalog-react and some of its descendants request
➤ YN0060: │ example-app@workspace:packages/app provides react (p512eb) with version 17.0.2, which doesn't satisfy what @backstage/plugin-catalog-unprocessed-entities and some of its descendants request
➤ YN0060: │ example-app@workspace:packages/app provides react (p4f185) with version 17.0.2, which doesn't satisfy what @roadiehq/backstage-plugin-github-insights and some of its descendants request
➤ YN0060: │ example-app@workspace:packages/app provides react-dom (p1595d) with version 17.0.2, which doesn't satisfy what @backstage/core-components and some of its descendants request
➤ YN0060: │ example-app@workspace:packages/app provides react-dom (p55841) with version 17.0.2, which doesn't satisfy what @roadiehq/backstage-plugin-github-insights and some of its descendants request
➤ YN0002: │ graphiql@npm:1.11.5 [b1c8a] doesn't provide graphql-ws (p75ec6), requested by @graphiql/toolkit
➤ YN0002: │ graphiql@npm:1.11.5 [cee85] doesn't provide graphql-ws (p1f91c), requested by @graphiql/toolkit
➤ YN0060: │ grpc-docs@npm:1.1.3 [f09cb] provides rollup (p50e3b) with version 0.60.7, which doesn't satisfy what rollup-plugin-smart-asset requests
➤ YN0002: │ react-resizable@npm:3.0.5 [b75c5] doesn't provide react-dom (pa18e1), requested by react-draggable
➤ YN0002: │ root@workspace:. doesn't provide @microsoft/api-extractor-model (p679bb), requested by @backstage/repo-tools
➤ YN0002: │ root@workspace:. doesn't provide @microsoft/tsdoc (p7bab6), requested by @backstage/repo-tools
➤ YN0002: │ root@workspace:. doesn't provide @microsoft/tsdoc-config (pd98aa), requested by @backstage/repo-tools
➤ YN0002: │ root@workspace:. doesn't provide @typescript-eslint/parser (p96d0e), requested by @spotify/eslint-plugin
➤ YN0002: │ techdocs-cli-embedded-app@workspace:packages/techdocs-cli-embedded-app doesn't provide eslint (p5c6a2), requested by eslint-plugin-cypress
➤ YN0060: │ techdocs-cli-embedded-app@workspace:packages/techdocs-cli-embedded-app provides react (p2bdd1) with version 17.0.2, which doesn't satisfy what @backstage/core-components and some of its descendants request
➤ YN0060: │ techdocs-cli-embedded-app@workspace:packages/techdocs-cli-embedded-app provides react-dom (p6e6c8) with version 17.0.2, which doesn't satisfy what @backstage/core-components and some of its descendants request
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed in 1s 647ms
➤ YN0000: ┌ Fetch step
➤ YN0013: │ zod-to-json-schema@npm:3.20.4 can't be found in the cache and will be fetched from the remote registry
➤ YN0013: │ zod@npm:3.18.0 can't be found in the cache and will be fetched from the remote registry
➤ YN0013: │ zod@npm:3.21.4 can't be found in the cache and will be fetched from the remote registry
➤ YN0013: │ zustand@npm:3.6.9 can't be found in the cache and will be fetched from the remote registry
➤ YN0013: │ zwitch@npm:2.0.2 can't be found in the cache and will be fetched from the remote registry
➤ YN0066: │ typescript@patch:typescript@npm%3A5.0.4#~builtin<compat/typescript>::version=5.0.4&hash=a1c5e5: Cannot apply hunk #1
➤ YN0066: │ typescript@patch:typescript@npm%3A4.8.4#~builtin<compat/typescript>::version=4.8.4&hash=a1c5e5: Cannot apply hunk #7
➤ YN0000: └ Completed in 1m 12s
➤ YN0000: ┌ Link step
➤ YN0007: │ root@workspace:. must be built because it never has been before or the last one failed
➤ YN0007: │ esbuild@npm:0.17.19 must be built because it never has been before or the last one failed
➤ YN0007: │ @swc/core@npm:1.3.62 [23bd4] must be built because it never has been before or the last one failed
➤ YN0007: │ esbuild@npm:0.16.17 must be built because it never has been before or the last one failed
➤ YN0007: │ msw@npm:1.2.1 [ef6b4] must be built because it never has been before or the last one failed
➤ YN0007: │ better-sqlite3@npm:8.4.0 must be built because it never has been before or the last one failed
➤ YN0007: │ cypress@npm:10.11.0 must be built because it never has been before or the last one failed
➤ YN0007: │ puppeteer@npm:17.1.3 must be built because it never has been before or the last one failed
➤ YN0007: │ canvas@npm:2.11.2 must be built because it never has been before or the last one failed
➤ YN0007: │ core-js@npm:3.30.2 must be built because it never has been before or the last one failed
➤ YN0007: │ styled-components@npm:5.3.5 [36072] must be built because it never has been before or the last one failed
➤ YN0007: │ jss@npm:9.8.7 must be built because it never has been before or the last one failed
➤ YN0007: │ esbuild@npm:0.15.18 must be built because it never has been before or the last one failed
➤ YN0007: │ core-js-pure@npm:3.29.1 must be built because it never has been before or the last one failed
➤ YN0007: │ sharp@npm:0.31.2 must be built because it never has been before or the last one failed
➤ YN0007: │ protobufjs@npm:7.2.3 must be built because it never has been before or the last one failed
➤ YN0007: │ @parcel/watcher@npm:2.1.0 must be built because it never has been before or the last one failed
➤ YN0007: │ @nestjs/core@npm:9.3.11 [2470b] must be built because it never has been before or the last one failed
➤ YN0007: │ core-js@npm:2.6.12 must be built because it never has been before or the last one failed
➤ YN0007: │ protobufjs@npm:6.11.3 must be built because it never has been before or the last one failed
➤ YN0007: │ @apollo/protobufjs@npm:1.2.7 must be built because it never has been before or the last one failed
➤ YN0007: │ cpu-features@npm:0.0.2 must be built because it never has been before or the last one failed
➤ YN0007: │ tree-sitter-json@npm:0.20.0 must be built because it never has been before or the last one failed
➤ YN0007: │ tree-sitter@npm:0.20.1 must be built because it never has been before or the last one failed
➤ YN0007: │ tree-sitter-yaml@npm:0.5.0 must be built because it never has been before or the last one failed
➤ YN0009: │ cpu-features@npm:0.0.2 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-680ebcd8/build.log)
➤ YN0009: │ tree-sitter-json@npm:0.20.0 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-b30f22ea/build.log)
➤ YN0009: │ tree-sitter-yaml@npm:0.5.0 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-c5a6c930/build.log)
➤ YN0009: │ tree-sitter@npm:0.20.1 couldn't be built successfully (exit code 1, logs can be found here: /tmp/xfs-e174ee75/build.log)
➤ YN0007: │ @openapitools/openapi-generator-cli@npm:2.6.0 must be built because it never has been before or the last one failed
➤ YN0007: │ ssh2@npm:1.5.0 must be built because it never has been before or the last one failed
➤ YN0000: └ Completed in 52s 948ms
➤ YN0000: Done with warnings in 2m 7s
builder@builder-T100:~/backstage-source$ yarn dev
[0] Loaded config from app-config.yaml
[0] Browserslist: caniuse-lite is outdated. Please run:
[0] npx update-browserslist-db@latest
[0] Why you should do it regularly: https://github.com/browserslist/update-db#readme
[0] <i> [webpack-dev-server] Project is running at:
[0] <i> [webpack-dev-server] On Your Network (IPv4): http://192.168.1.99:3000/
[0] <i> [webpack-dev-server] Content not from webpack is served from '/home/builder/backstage-source/packages/app/public' directory
[0] <i> [webpack-dev-server] 404s will fallback to '/index.html'
[1] Build succeeded
[1] 2023-06-07T11:53:33.654Z backstage info You are running an example backend, which is supposed to be mainly used for contributing back to Backstage. Do NOT deploy this to production. Read more here https://backstage.io/docs/getting-started/
[1] Loaded config from app-config.yaml
[1] 2023-06-07T11:53:37.231Z backstage info Found 5 new secrets in config that will be redacted
[1] 2023-06-07T11:53:37.250Z backstage warn Generated a secret for service-to-service authentication: DEVELOPMENT USE ONLY.
[1] 2023-06-07T11:53:37.252Z backstage info Created UrlReader predicateMux{readers=azure{host=dev.azure.com,authed=false},bitbucketCloud{host=bitbucket.org,authed=false},github{host=github.com,authed=false},gitlab{host=gitlab.com,authed=false},awsS3{host=amazonaws.com,authed=false},fetch{}
[1] 2023-06-07T11:53:37.292Z catalog info Performing database migration type=plugin
[1] 2023-06-07T11:53:37.433Z code-coverage info Initializing Code Coverage backend type=plugin
[1] 2023-06-07T11:53:37.486Z backstage info Task worker starting: close_stale_tasks, {"version":2,"cadence":"*/5 * * * *","timeoutAfterDuration":"PT15M"} type=taskManager task=close_stale_tasks
[1] 2023-06-07T11:53:37.515Z backstage info Task worker starting: entityOwnershipFactRetriever, {"version":2,"cadence":"1 1 1 * *","initialDelayDuration":"PT5S","timeoutAfterDuration":"PT5M"} type=taskManager task=entityOwnershipFactRetriever
[1] 2023-06-07T11:53:37.516Z backstage info Task worker starting: entityMetadataFactRetriever, {"version":2,"cadence":"1 1 1 * *","initialDelayDuration":"PT5S","timeoutAfterDuration":"PT5M"} type=taskManager task=entityMetadataFactRetriever
[1] 2023-06-07T11:53:37.516Z backstage info Task worker starting: techdocsFactRetriever, {"version":2,"cadence":"1 1 1 * *","initialDelayDuration":"PT5S","timeoutAfterDuration":"PT5M"} type=taskManager task=techdocsFactRetriever
[1] 2023-06-07T11:53:37.516Z tech-insights info Scheduled 3/3 fact retrievers into the tech-insights engine type=plugin
[1] 2023-06-07T11:53:37.583Z tech-insights info Fact checker configured. Enabling fact checking endpoints. type=plugin
[1] 2023-06-07T11:53:37.585Z auth info Configuring "database" as KeyStore provider type=plugin
[1] 2023-06-07T11:53:37.598Z auth info Configuring auth provider: google type=plugin
[1] 2023-06-07T11:53:37.599Z auth warn Skipping google auth provider, Missing required config value at 'auth.providers.google.development.clientId' type=plugin
[1] 2023-06-07T11:53:37.599Z auth info Configuring auth provider: github type=plugin
[1] 2023-06-07T11:53:37.600Z auth warn Skipping github auth provider, Missing required config value at 'auth.providers.github.development.clientId' type=plugin
[1] 2023-06-07T11:53:37.600Z auth info Configuring auth provider: gitlab type=plugin
[1] 2023-06-07T11:53:37.601Z auth warn Skipping gitlab auth provider, Missing required config value at 'auth.providers.gitlab.development.clientId' type=plugin
[1] 2023-06-07T11:53:37.601Z auth info Configuring auth provider: saml type=plugin
[1] 2023-06-07T11:53:37.602Z auth info Configuring auth provider: okta type=plugin
[1] 2023-06-07T11:53:37.603Z auth warn Skipping okta auth provider, Missing required config value at 'auth.providers.okta.development.clientId' type=plugin
[1] 2023-06-07T11:53:37.603Z auth info Configuring auth provider: auth0 type=plugin
[1] 2023-06-07T11:53:37.604Z auth warn Skipping auth0 auth provider, Missing required config value at 'auth.providers.auth0.development.clientId' type=plugin
[1] 2023-06-07T11:53:37.604Z auth info Configuring auth provider: microsoft type=plugin
[1] 2023-06-07T11:53:37.604Z auth warn Skipping microsoft auth provider, Missing required config value at 'auth.providers.microsoft.development.clientId' type=plugin
[1] 2023-06-07T11:53:37.604Z auth info Configuring auth provider: oauth2 type=plugin
[1] 2023-06-07T11:53:37.604Z auth warn Skipping oauth2 auth provider, Missing required config value at 'auth.providers.oauth2.development.clientId' type=plugin
[1] 2023-06-07T11:53:37.605Z auth info Configuring auth provider: oidc type=plugin
[1] 2023-06-07T11:53:37.605Z auth warn Skipping oidc auth provider, Missing required config value at 'auth.providers.oidc.development.clientId' type=plugin
[1] 2023-06-07T11:53:37.605Z auth info Configuring auth provider: onelogin type=plugin
[1] 2023-06-07T11:53:37.605Z auth warn Skipping onelogin auth provider, Missing required config value at 'auth.providers.onelogin.development.clientId' type=plugin
[1] 2023-06-07T11:53:37.605Z auth info Configuring auth provider: bitbucket type=plugin
[1] 2023-06-07T11:53:37.606Z auth warn Skipping bitbucket auth provider, Missing required config value at 'auth.providers.bitbucket.development.clientId' type=plugin
[1] 2023-06-07T11:53:37.606Z auth info Configuring auth provider: atlassian type=plugin
[1] 2023-06-07T11:53:37.606Z auth warn Skipping atlassian auth provider, Missing required config value at 'auth.providers.atlassian.development.clientId' type=plugin
[1] 2023-06-07T11:53:37.606Z auth info Configuring auth provider: myproxy type=plugin
[1] 2023-06-07T11:53:37.613Z search info Added DefaultAdrCollatorFactory collator factory for type adr type=plugin
[1] 2023-06-07T11:53:37.614Z search info Added DefaultCatalogCollatorFactory collator factory for type software-catalog type=plugin
[1] 2023-06-07T11:53:37.614Z search info Added DefaultTechDocsCollatorFactory collator factory for type techdocs type=plugin
[1] 2023-06-07T11:53:37.614Z search info Added ToolDocumentCollatorFactory collator factory for type tools type=plugin
[1] 2023-06-07T11:53:37.615Z search info Starting all scheduled search tasks. type=plugin
[1] 2023-06-07T11:53:37.619Z techdocs info Creating Local publisher for TechDocs type=plugin
[1] 2023-06-07T11:53:37.625Z kubernetes info Initializing Kubernetes backend type=plugin
[1] 2023-06-07T11:53:37.625Z kubernetes info action=LoadingCustomResources numOfCustomResources=0 type=plugin
[1] 2023-06-07T11:53:37.631Z kafka info Initializing Kafka backend type=plugin
[1] 2023-06-07T11:53:37.634Z proxy info [HPM] Proxy created: /circleci/api -> https://circleci.com/api/v1.1 type=plugin
[1] 2023-06-07T11:53:37.634Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/circleci/api/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.636Z proxy info [HPM] Proxy created: /jenkins/api -> http://localhost:8080 type=plugin
[1] 2023-06-07T11:53:37.636Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/jenkins/api/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.637Z proxy info [HPM] Proxy created: /travisci/api -> https://api.travis-ci.com type=plugin
[1] 2023-06-07T11:53:37.637Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/travisci/api/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.638Z proxy info [HPM] Proxy created: /newrelic/apm/api -> https://api.newrelic.com/v2 type=plugin
[1] 2023-06-07T11:53:37.638Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/newrelic/apm/api/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.638Z proxy info [HPM] Proxy created: /newrelic/api -> https://api.newrelic.com type=plugin
[1] 2023-06-07T11:53:37.638Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/newrelic/api/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.639Z proxy info [HPM] Proxy created: /pagerduty -> https://api.pagerduty.com type=plugin
[1] 2023-06-07T11:53:37.639Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/pagerduty/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.639Z proxy info [HPM] Proxy created: /buildkite/api -> https://api.buildkite.com/v2/ type=plugin
[1] 2023-06-07T11:53:37.639Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/buildkite/api/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.640Z proxy info [HPM] Proxy created: /sentry/api -> https://sentry.io/api/ type=plugin
[1] 2023-06-07T11:53:37.640Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/sentry/api/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.640Z proxy info [HPM] Proxy created: /ilert -> https://api.ilert.com type=plugin
[1] 2023-06-07T11:53:37.640Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/ilert/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.640Z proxy info [HPM] Proxy created: /airflow -> https://your.airflow.instance.com/api/v1 type=plugin
[1] 2023-06-07T11:53:37.641Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/airflow/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.641Z proxy info [HPM] Proxy created: /gocd -> https://your.gocd.instance.com/go/api type=plugin
[1] 2023-06-07T11:53:37.641Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/gocd/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.641Z proxy info [HPM] Proxy created: /dynatrace -> https://your.dynatrace.instance.com/api/v2 type=plugin
[1] 2023-06-07T11:53:37.641Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/dynatrace/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.642Z proxy info [HPM] Proxy created: /stackstorm -> https://your.stackstorm.instance.com/api type=plugin
[1] 2023-06-07T11:53:37.642Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/stackstorm/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.642Z proxy info [HPM] Proxy created: /puppetdb -> https://your.puppetdb.instance.com type=plugin
[1] 2023-06-07T11:53:37.642Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/puppetdb/?" ~> "/" type=plugin
[1] 2023-06-07T11:53:37.701Z jenkins warn PermissionAuthorizer is deprecated. Please use an instance of PermissionEvaluator instead of PermissionAuthorizer in PluginEnvironment#permissions type=plugin
[1] 2023-06-07T11:53:37.703Z playlist info Initializing Playlist backend type=plugin
[1] 2023-06-07T11:53:37.721Z backstage info Task worker starting: search_index_adr, {"version":2,"cadence":"PT10M","initialDelayDuration":"PT3S","timeoutAfterDuration":"PT15M"} type=taskManager task=search_index_adr
[1] 2023-06-07T11:53:37.721Z backstage info Task worker starting: search_index_software_catalog, {"version":2,"cadence":"PT10M","initialDelayDuration":"PT3S","timeoutAfterDuration":"PT15M"} type=taskManager task=search_index_software_catalog
[1] 2023-06-07T11:53:37.722Z backstage info Task worker starting: search_index_techdocs, {"version":2,"cadence":"PT10M","initialDelayDuration":"PT3S","timeoutAfterDuration":"PT15M"} type=taskManager task=search_index_techdocs
[1] 2023-06-07T11:53:37.722Z backstage info Task worker starting: search_index_tools, {"version":2,"cadence":"PT10M","initialDelayDuration":"PT3S","timeoutAfterDuration":"PT15M"} type=taskManager task=search_index_tools
[1] 2023-06-07T11:53:37.729Z entityFeedback info Initializing Entity Feedback backend type=plugin
[1] 2023-06-07T11:53:37.744Z linguist info Scheduling processing of entities with: {"frequency":{"minutes":2},"timeout":{"minutes":15},"initialDelay":{"seconds":15}} type=plugin
[1] 2023-06-07T11:53:37.750Z backstage info Task worker starting: linguist_process_entities, {"version":2,"cadence":"PT2M","initialDelayDuration":"PT15S","timeoutAfterDuration":"PT15M"} type=taskManager task=linguist_process_entities
[1] 2023-06-07T11:53:37.753Z lighthouse info Running with Scheduler Config {"days":1} and timeout {} type=plugin
[1] 2023-06-07T11:53:37.760Z backstage info Task worker starting: lighthouse_audit, {"version":2,"cadence":"P1D","initialDelayDuration":"PT15M","timeoutAfterDuration":"PT0S"} type=taskManager task=lighthouse_audit
[1] 2023-06-07T11:53:37.768Z backstage info Listening on :7007
[1] 2023-06-07T11:53:40.723Z search info Collating documents for adr via DefaultAdrCollatorFactory type=plugin documentType=adr
[1] 2023-06-07T11:53:40.731Z search info Collating documents for software-catalog via DefaultCatalogCollatorFactory type=plugin documentType=software-catalog
[1] 2023-06-07T11:53:40.733Z search info Collating documents for techdocs via DefaultTechDocsCollatorFactory type=plugin documentType=techdocs
[1] 2023-06-07T11:53:40.736Z search info Collating documents for tools via ToolDocumentCollatorFactory type=plugin documentType=tools
[1] 2023-06-07T11:53:40.737Z search info Starting collation of explore tools type=plugin
[1] 2023-06-07T11:53:40.755Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:40 +0000] "GET /api/catalog/entities?filter=metadata.annotations.backstage.io%2Fadr-location&fields=kind,metadata.annotations,metadata.name,metadata.namespace,metadata.title HTTP/1.1" 200 469 "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:40.772Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:40 +0000] "GET /api/explore/tools HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:40.773Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:40 +0000] "GET /api/catalog/entities?filter=metadata.annotations.backstage.io%2Ftechdocs-ref&fields=kind,namespace,metadata.annotations,metadata.name,metadata.title,metadata.namespace,spec.type,spec.lifecycle,relations&offset=0&limit=500 HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:40.777Z search info Finished collation of explore tools type=plugin
[1] 2023-06-07T11:53:40.790Z search info Collating documents for tools succeeded type=plugin documentType=tools
[1] 2023-06-07T11:53:40.801Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:40 +0000] "GET /api/catalog/entities?offset=0&limit=500 HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:40.808Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:40 +0000] "GET /api/catalog/entities/by-name/component/default/backstage HTTP/1.1" 200 813 "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:40.810Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:40 +0000] "GET /api/catalog/entities/by-name/component/default/documented-component HTTP/1.1" 200 855 "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:40.812Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:40 +0000] "GET /api/catalog/entities/by-name/component/default/techdocs-e2e-fixture HTTP/1.1" 200 777 "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:40.819Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:40 +0000] "GET /api/techdocs/static/docs/default/component/backstage/search/search_index.json HTTP/1.1" 404 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:40.820Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:40 +0000] "GET /api/techdocs/static/docs/default/component/documented-component/search/search_index.json HTTP/1.1" 404 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:40.821Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:40 +0000] "GET /api/techdocs/static/docs/default/component/techdocs-e2e-fixture/search/search_index.json HTTP/1.1" 404 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:40.824Z search warn Index for techdocs was not created: indexer received 0 documents type=plugin documentType=techdocs
[1] 2023-06-07T11:53:40.824Z search info Collating documents for techdocs succeeded type=plugin documentType=techdocs
[1] 2023-06-07T11:53:40.869Z search info Collating documents for software-catalog succeeded type=plugin documentType=software-catalog
[1] 2023-06-07T11:53:41.625Z search info Indexed 18 ADRs from https://github.com/adr/madr/tree/develop/docs/decisions type=plugin documentType=adr
[1] 2023-06-07T11:53:41.668Z search info Collating documents for adr succeeded type=plugin documentType=adr
[1] 2023-06-07T11:53:42.517Z tech-insights info Retrieving facts for fact retriever entityOwnershipFactRetriever type=plugin
[1] 2023-06-07T11:53:42.520Z tech-insights info Retrieving facts for fact retriever entityMetadataFactRetriever type=plugin
[1] 2023-06-07T11:53:42.521Z tech-insights info Retrieving facts for fact retriever techdocsFactRetriever type=plugin
[1] 2023-06-07T11:53:42.563Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:42 +0000] "GET /api/catalog/entities?filter=kind=component,kind=domain,kind=system,kind=api,kind=resource,kind=template HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:42.565Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:42 +0000] "GET /api/catalog/entities HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:42.566Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:42 +0000] "GET /api/catalog/entities HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:42.583Z tech-insights info Stored 36 facts for fact retriever entityOwnershipFactRetriever in 0.1s type=plugin
[1] 2023-06-07T11:53:42.614Z tech-insights info Stored 77 facts for fact retriever techdocsFactRetriever in 0.1s type=plugin
[1] 2023-06-07T11:53:42.624Z tech-insights info Stored 77 facts for fact retriever entityMetadataFactRetriever in 0.1s type=plugin
[1] 2023-06-07T11:53:52.752Z linguist info Updating list of entities type=plugin
[1] 2023-06-07T11:53:52.757Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:52 +0000] "GET /api/catalog/entities?filter=kind=API,kind=Component,kind=Template,metadata.annotations.backstage.io%2Flinguist&fields=kind,metadata HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:52.758Z linguist info Cleaning list of entities type=plugin
[1] 2023-06-07T11:53:52.759Z linguist info Cleaning entities in Linguist queue type=plugin
[1] 2023-06-07T11:53:52.774Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:52 +0000] "POST /api/permission/authorize HTTP/1.1" 200 74 "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:52.779Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:52 +0000] "GET /api/catalog/entities/by-name/component/default/artist-lookup HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:52.780Z linguist info Processing applicable entities through Linguist type=plugin
[1] 2023-06-07T11:53:52.781Z linguist info Entities overview: Entity: 1, Processed: 0, Pending: 1, Stale 0 type=plugin
[1] 2023-06-07T11:53:52.785Z backstage info ::ffff:127.0.0.1 - - [07/Jun/2023:11:53:52 +0000] "GET /api/catalog/entities/by-name/component/default/artist-lookup HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2023-06-07T11:53:52.787Z linguist info Processing languages for entity component:default/artist-lookup from https://github.com/backstage/backstage/tree/master/plugins/playlist type=plugin
[1] 2023-06-07T11:53:59.903Z linguist info Cleaning up files from /tmp/backstage-AhLUzQ type=plugin
[0] webpack compiled successfully
This time it worked
I could browse the navigation but really could not create anything. Nothing would create without a ‘domain’ and no domains existed
Let’s try adding PSQL
I’ll KISS and use the local postgres DB and user as the tutorial suggests
backend:
# Used for enabling authentication, secret is shared by all backend plugins
# See https://backstage.io/docs/auth/service-to-service-auth for
# information on the format
# auth:
# keys:
# - secret: ${BACKEND_SECRET}
baseUrl: http://localhost:7007
listen:
port: 7007
database:
client: pg
connection:
host: 127.0.0.1
port: 5432
user: postgres
password: secret
still no luck
Hosted Options
Clearly I am not alone in finding this less than stellar for setup.
Why else would there be so many hosted options out there.
We have OpsLevel
which is a bit vague on pricing
Cortext Service Catalog is another
and Roadie
who at least was very transparent on pricing
There are non backstage.io based options out there as well:
- Clutch by Lyft
- Port which has a free tier
- Configure8 which also has a free plane
Summary
At some point you call it and post the blog. That is today. I wanted to build out something full featured and clean but it just wasn’t happening. Failure is learning too. In that end, I’ll come back and try again. I’m determined to see if I cannot get some helm approach going as I hate managing things just in docker or using a bespoke Linux box.
At the end of the day, backstage is a open-source actively developed developer portal. It’s built on Node with React and leans towards using external OIDPs and PostgreSQL for data permanence. I see there are other guides to follow as well. I don’t see much value in me reformatting someone else’s blog.
However, if I can get this turd burger up and running and fault tolerant (i don’t load sites that have to be reloaded when they crash - homie don’t play that), then I’ll post a part two.
Otherwise, take it from Grouchy SRE today - backstage.io seems nice but perhaps it’s a bit too ‘alpha’ out of the box for my taste.