Skip to content

Commit 466dd5b

Browse files
authored
Merge branch 'main' into add-link-checker
2 parents 99b0c6a + f60bc2d commit 466dd5b

File tree

37 files changed

+6396
-2
lines changed

37 files changed

+6396
-2
lines changed

.rhdh/docker/Dockerfile

+8
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@ COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/immobiliarelabs-backstage-
9797
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-techdocs/package.json ./dynamic-plugins/wrappers/backstage-plugin-techdocs/package.json
9898
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/package.json
9999
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/dist-dynamic/package.json
100+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-signals/package.json ./dynamic-plugins/wrappers/backstage-plugin-signals/package.json
101+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/package.json
102+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/dist-dynamic/package.json
100103
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/package.json
101104
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/dist-dynamic/package.json
102105
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-github-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-github-dynamic/package.json
@@ -109,6 +112,11 @@ COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolde
109112
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/dist-dynamic/package.json
110113
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/package.json
111114
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/dist-dynamic/package.json
115+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-notifications/package.json ./dynamic-plugins/wrappers/backstage-plugin-notifications/package.json
116+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/package.json
117+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/dist-dynamic/package.json
118+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/package.json
119+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/dist-dynamic/package.json
112120
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-kubernetes/package.json ./dynamic-plugins/wrappers/backstage-plugin-kubernetes/package.json
113121
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/package.json
114122
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/dist-dynamic/package.json

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ Our current list of plugins within the showcase app include:
3232
- [Tekton plugin](https://github.com/backstage/community-plugins/tree/main/workspaces/tekton/plugins/tekton)
3333
- [Azure DevOps plugin](https://github.com/backstage/community-plugins/tree/main/workspaces/azure-devops/plugins/azure-devops)
3434
- [Jenkins plugin](https://github.com/backstage/community-plugins/tree/main/workspaces/jenkins/plugins/jenkins)
35+
- [Notifications plugin](https://github.com/backstage/backstage/tree/master/plugins/notifications)
36+
- [Signals plugin](https://github.com/backstage/backstage/tree/master/plugins/signals)
3537
- [GitLab plugin](https://github.com/immobiliare/backstage-plugin-gitlab)
3638
- [Jira plugin](https://github.com/RoadieHQ/roadie-backstage-plugins/tree/main/plugins/frontend/backstage-plugin-jira)
3739
- [Jfrog Artifactory plugin](https://github.com/backstage/community-plugins/tree/main/workspaces/jfrog-artifactory/plugins/jfrog-artifactory)

app-config.dynamic-plugins.yaml

+11
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,17 @@ dynamicPlugins:
9191
if:
9292
allOf:
9393
- isLighthouseAvailable
94+
backstage.plugin-notifications:
95+
dynamicRoutes:
96+
- importName: NotificationsPage
97+
menuItem:
98+
config:
99+
props:
100+
titleCounterEnabled: true
101+
webNotificationsEnabled: false
102+
importName: NotificationsSidebarItem
103+
path: /notifications
104+
backstage.plugin-signals: {}
94105
pagerduty.backstage-plugin:
95106
mountPoints:
96107
- mountPoint: entity.page.overview/cards

app-config.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
developerHub:
2+
flavor: rhdh
13
app:
24
title: Janus IDP Backstage Showcase
35
baseUrl: http://localhost:3000

docker/Dockerfile

+8
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/immobiliarelabs-backstage-
9898
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-techdocs/package.json ./dynamic-plugins/wrappers/backstage-plugin-techdocs/package.json
9999
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/package.json
100100
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/dist-dynamic/package.json
101+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-signals/package.json ./dynamic-plugins/wrappers/backstage-plugin-signals/package.json
102+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/package.json
103+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/dist-dynamic/package.json
101104
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/package.json
102105
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/dist-dynamic/package.json
103106
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-github-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-github-dynamic/package.json
@@ -110,6 +113,11 @@ COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolde
110113
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/dist-dynamic/package.json
111114
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/package.json
112115
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/dist-dynamic/package.json
116+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-notifications/package.json ./dynamic-plugins/wrappers/backstage-plugin-notifications/package.json
117+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/package.json
118+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/dist-dynamic/package.json
119+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/package.json
120+
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/dist-dynamic/package.json
113121
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-kubernetes/package.json ./dynamic-plugins/wrappers/backstage-plugin-kubernetes/package.json
114122
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/package.json
115123
COPY $EXTERNAL_SOURCE_NESTED/dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/dist-dynamic/package.json ./dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/dist-dynamic/package.json

docs/customization.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
To customize the look of your showcase instance, you can edit the `app-config.yaml` file in the root of this repository. The customizations used to configure the app are loaded by the backstage app at startup, with certain values being queried by the app at runtime.
44

5+
Plugins can use field `developerHub.flavor` of the `app-config.yaml` to identify which Backstage flavor they are running on (e.g `backstage`, `rhdh` or `rhtap`).
6+
57
## Changing the Sidebar Logo
68

79
The sidebar uses two logos - one for the expanded sidebar and one for the collapsed sidebar.

docs/index.md

+7
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,13 @@ The easiest and fastest method for getting started: Backstage Showcase app, runn
228228
- `${JENKINS_USERNAME}` with the name of the user to be accessed through the API
229229
- `${JENKINS_TOKEN}` with the API token to be used
230230

231+
- Setup the Notifications email plugin
232+
233+
- `${EMAIL_HOSTNAME}`: SMTP server hostname
234+
- `${EMAIL_USERNAME}`: SMTP username
235+
- `${EMAIL_PASSWORD}`: SMTP password
236+
- `${EMAIL_SENDER}`: Sender email address
237+
231238
- Setup the PagerDuty plugin
232239

233240
- `${PAGERDUTY_TOKEN}` with the [API token](https://support.pagerduty.com/docs/api-access-keys#generating-a-general-access-rest-api-key) used to make requests to the [PagerDuty API](https://developer.pagerduty.com/docs/rest-api-v2/rest-api/). Note that this will require a PaperDuty Admin role.

dynamic-plugins.default.yaml

+42
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,48 @@ plugins:
381381
allOf:
382382
- isJenkinsAvailable
383383

384+
# Group: Notifications
385+
- package: ./dynamic-plugins/dist/backstage-plugin-notifications
386+
disabled: true
387+
pluginConfig:
388+
dynamicPlugins:
389+
frontend:
390+
backstage.plugin-notifications:
391+
dynamicRoutes:
392+
- importName: NotificationsPage
393+
menuItem:
394+
config:
395+
props:
396+
titleCounterEnabled: true
397+
webNotificationsEnabled: false
398+
importName: NotificationsSidebarItem
399+
path: /notifications
400+
- package: ./dynamic-plugins/dist/backstage-plugin-notifications-backend-dynamic
401+
disabled: true
402+
- package: ./dynamic-plugins/dist/backstage-plugin-notifications-backend-module-email-dynamic
403+
disabled: true
404+
pluginConfig:
405+
notifications:
406+
processors:
407+
email:
408+
transportConfig:
409+
transport: smtp
410+
hostname: ${EMAIL_HOSTNAME}
411+
port: 587
412+
username: ${EMAIL_USERNAME}
413+
password: ${EMAIL_PASSWORD}
414+
sender: ${EMAIL_SENDER}
415+
broadcastConfig:
416+
receiver: 'users'
417+
- package: ./dynamic-plugins/dist/backstage-plugin-signals-backend-dynamic
418+
disabled: true
419+
- package: ./dynamic-plugins/dist/backstage-plugin-signals
420+
disabled: true
421+
pluginConfig:
422+
dynamicPlugins:
423+
frontend:
424+
backstage.plugin-signals: {}
425+
384426
# Group: SonarQube
385427
- package: ./dynamic-plugins/dist/backstage-community-plugin-sonarqube-backend-dynamic
386428
disabled: true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
{
2+
"name": "backstage-plugin-notifications-backend-dynamic",
3+
"version": "0.4.1",
4+
"main": "dist/index.cjs.js",
5+
"types": "dist/index.d.ts",
6+
"license": "Apache-2.0",
7+
"publishConfig": {
8+
"access": "public",
9+
"main": "dist/index.cjs.js",
10+
"types": "dist/index.d.ts"
11+
},
12+
"backstage": {
13+
"role": "backend-plugin",
14+
"supported-versions": "1.27.7",
15+
"pluginId": "notifications",
16+
"pluginPackages": [
17+
"backstage-plugin-notifications",
18+
"backstage-plugin-notifications-backend"
19+
]
20+
},
21+
"exports": {
22+
".": {
23+
"require": "./dist/index.cjs.js",
24+
"types": "./dist/index.d.ts",
25+
"default": "./dist/index.cjs.js"
26+
},
27+
"./package.json": "./package.json"
28+
},
29+
"dependencies": {
30+
"@backstage/plugin-notifications-backend": "0.4.1"
31+
},
32+
"files": [
33+
"dist",
34+
"migrations/**/*.{js,d.ts}"
35+
],
36+
"repository": {
37+
"type": "git",
38+
"url": "https://github.com/janus-idp/backstage-showcase",
39+
"directory": "dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic"
40+
},
41+
"maintainers": [
42+
"@janus-idp/maintainers-showcase"
43+
],
44+
"author": "Red Hat",
45+
"homepage": "https://red.ht/rhdh",
46+
"bugs": "https://issues.redhat.com/browse/RHIDP",
47+
"keywords": [
48+
"support:tech-preview",
49+
"lifecycle:active"
50+
],
51+
"bundleDependencies": true,
52+
"overrides": {
53+
"@aws-sdk/util-utf8-browser": {
54+
"@smithy/util-utf8": "^2.0.0"
55+
}
56+
},
57+
"resolutions": {
58+
"@aws-sdk/util-utf8-browser": "npm:@smithy/util-utf8@~2",
59+
"@backstage/plugin-notifications-backend": "file:./embedded/backstage-plugin-notifications-backend",
60+
"@backstage/plugin-notifications-common": "file:./embedded/backstage-plugin-notifications-common",
61+
"@backstage/plugin-notifications-node": "file:./embedded/backstage-plugin-notifications-node",
62+
"@backstage/plugin-signals-node": "file:./embedded/backstage-plugin-signals-node"
63+
},
64+
"peerDependencies": {
65+
"@backstage/backend-common": "^0.25.0",
66+
"@backstage/backend-plugin-api": "^1.0.1",
67+
"@backstage/catalog-client": "^1.7.1",
68+
"@backstage/catalog-model": "^1.7.0",
69+
"@backstage/config": "^1.2.0",
70+
"@backstage/errors": "^1.2.4",
71+
"@backstage/plugin-auth-node": "^0.5.3",
72+
"@backstage/plugin-catalog-node": "^1.13.1",
73+
"@backstage/plugin-events-node": "^0.4.2",
74+
"@backstage/types": "^1.1.1"
75+
}
76+
}

0 commit comments

Comments
 (0)