@solo.io/platform-portal-backstage-plugin-backend 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +68 -0
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -70,3 +70,71 @@ glooPlatformPortal:
70
70
  seconds: 10
71
71
  milliseconds: 0
72
72
  ```
73
+
74
+ ## Demo Image
75
+
76
+ Solo.io provides a demo Backstage image with the `@solo.io/platform-portal-backstage-plugin-backend` package installed. It contains an `app-config.yaml` file which can be configured using Docker environment variables.
77
+
78
+ To begin the demo, make sure that:
79
+
80
+ - You can access the portal server and view the Gloo Platform APIs you have access to through a URL that Docker can access (like [http://localhost:31080/v1/apis](http://localhost:31080/v1/apis))
81
+ - You have an authorization server (like Keycloak or Okta) running that Docker can access.
82
+
83
+ Then run a Postgres container for the Backstage catalog (this creates an example user for the demo):
84
+
85
+ ```sh
86
+ docker run \
87
+ --name backstage-postgres \
88
+ -e POSTGRES_USER=postgres \
89
+ -e POSTGRES_PASSWORD=password \
90
+ -it -p 5432:5432 \
91
+ -d postgres:bookworm &
92
+ ```
93
+
94
+ Then run the Backstage example app, replacing any environment variables as-needed. This example uses gcr.io/solo-public/docs/portal-backstage-backend:latest, but you can check the GitHub release versions [here](https://github.com/solo-io/platform-portal-backstage-plugin-backend/releases). `host.docker.internal`.
95
+
96
+ ```sh
97
+ docker run \
98
+ --name backstage \
99
+ -e PORTAL_SERVER_URL=http://host.docker.internal:31080/v1 # replace \
100
+ -e CLIENT_ID= # replace \
101
+ -e CLIENT_SECRET= # replace \
102
+ -e TOKEN_ENDPOINT=http://host.docker.internal:8088/realms/master/protocol/openid-connect/token # replace \
103
+ -e PORTAL_SERVICE_ACCOUNT_USERNAME= # replace \
104
+ -e PORTAL_SERVICE_ACCOUNT_PASSWORD= # replace \
105
+ -e POSTGRES_USER=postgres \
106
+ -e POSTGRES_PASSWORD=password \
107
+ -e POSTGRES_HOST=host.docker.internal \
108
+ -it -p 7007:7007 gcr.io/solo-public/docs/portal-backstage-backend:latest
109
+ ```
110
+
111
+ Here is the list of Docker environment variables that this package adds to the Backstage `app-config.yaml`.
112
+
113
+ ```yaml
114
+ backend:
115
+ database:
116
+ client: pg
117
+ connection:
118
+ host: ${POSTGRES_HOST}
119
+ port: ${POSTGRES_PORT}
120
+ user: ${POSTGRES_USER}
121
+ password: ${POSTGRES_PASSWORD}
122
+ glooPlatformPortal:
123
+ portalServerUrl: ${PORTAL_SERVER_URL}
124
+ clientId: ${CLIENT_ID}
125
+ clientSecret: ${CLIENT_SECRET}
126
+ tokenEndpoint: ${TOKEN_ENDPOINT}
127
+ serviceAccountUsername: ${PORTAL_SERVICE_ACCOUNT_USERNAME}
128
+ serviceAccountPassword: ${PORTAL_SERVICE_ACCOUNT_PASSWORD}
129
+ debugLogging: ${PORTAL_DEBUG_LOGGING}
130
+ syncTimeout:
131
+ hours: ${PORTAL_SYNC_TIMEOUT_HOURS}
132
+ minutes: ${PORTAL_SYNC_TIMEOUT_MINUTES}
133
+ seconds: ${PORTAL_SYNC_TIMEOUT_SECONDS}
134
+ milliseconds: ${PORTAL_SYNC_TIMEOUT_MILLISECONDS}
135
+ syncFrequency:
136
+ hours: ${PORTAL_SYNC_FREQUENCY_HOURS}
137
+ minutes: ${PORTAL_SYNC_FREQUENCY_MINUTES}
138
+ seconds: ${PORTAL_SYNC_FREQUENCY_SECONDS}
139
+ milliseconds: ${PORTAL_SYNC_FREQUENCY_MILLISECONDS}
140
+ ```
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@solo.io/platform-portal-backstage-plugin-backend",
3
3
  "description": "A Backstage backend plugin that synchronizes Gloo Platform Portal APIs with the Backstage catalog.",
4
- "version": "0.0.13",
4
+ "version": "0.0.15",
5
5
  "main": "dist/index.cjs.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "Apache-2.0",