Skip to content

Commit 62509e1

Browse files
authored
feat(testing): enhance testing dynamic plugins (#238)
* feat(testing): enhance testing dynamic plugins Features added: - Script to build test OCI artifacts - Script to update `dynamic-plugins.yaml` and point to repository with OCI artifacts - Updated release workflow to update `dynamic-plugins.yaml` Other: - Added README.md file on testing Signed-off-by: Bryan Ramos <bramos@redhat.com> Assisted-By: Claude * Cleanup dynamic-plugins.yaml Signed-off-by: Bryan Ramos <bramos@redhat.com> * Update release workflow Signed-off-by: Bryan Ramos <bramos@redhat.com> --------- Signed-off-by: Bryan Ramos <bramos@redhat.com>
1 parent b652d85 commit 62509e1

File tree

5 files changed

+537
-54
lines changed

5 files changed

+537
-54
lines changed

.github/workflows/release.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
- name: Install plugin updates
4848
run: yarn install --mode=update-lockfile
4949

50-
- name: Update release.json file
50+
- name: Update package.json file
5151
run: |
5252
yarn tsx utils/update-package-json.ts \
5353
--version ${{ inputs.version }} \
@@ -63,6 +63,10 @@ jobs:
6363
yarn tsx utils/update-tkn-release-version.ts \
6464
--version ${{ inputs.version }}
6565
66+
- name: Update dynamic-plugins.yaml file
67+
run: |
68+
yarn tsx utils/update-dynamic-plugins.ts
69+
6670
- name: Configure git
6771
run: |
6872
git config user.name "github-actions[bot]"
Lines changed: 138 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,138 @@
1-
# These are plugins provided by RHDH.
2-
# They're disabled in this config so we can use ours, which may be newer than the ones pre-loaded.
3-
#includes:
4-
# - ../local-plugins/dynamic-plugins.yaml
1+
# Copy this into your RHDH dynamic-plugins file.
2+
3+
includes:
4+
- dynamic-plugins.default.yaml
55

66
plugins:
7-
# TODO - change 'package' values for each plugin to the OCI artifact for latest TSSC plugins
7+
# Github Actions
8+
- package: ./dynamic-plugins/dist/backstage-community-plugin-github-actions
9+
disabled: false
10+
11+
# RBAC
12+
- package: ./dynamic-plugins/dist/backstage-community-plugin-rbac
13+
disabled: false
14+
- package: ./dynamic-plugins/dist/backstage-community-plugin-rbac-backend-dynamic
15+
disabled: false
816

9-
# TEKTON + K8s
10-
- package: ./dynamic-plugins/dist/backstage-community-plugin-tekton
17+
# Azure-DevOps
18+
- package: ./dynamic-plugins/dist/backstage-community-plugin-azure-devops
1119
disabled: false
1220
pluginConfig:
1321
dynamicPlugins:
1422
frontend:
15-
backstage-community.plugin-tekton:
23+
backstage-community.plugin-azure-devops:
1624
mountPoints:
1725
- mountPoint: entity.page.ci/cards
18-
importName: TektonCI
26+
importName: EntityAzurePipelinesContent
1927
config:
2028
layout:
2129
gridColumn: 1 / -1
2230
if:
2331
anyOf:
24-
- isTektonCIAvailable
32+
- hasAnnotation: dev.azure.com/project
33+
- hasAnnotation: dev.azure.com/build-definition
2534

26-
- package: ./dynamic-plugins/dist/backstage-plugin-kubernetes-backend-dynamic
35+
- package: ./dynamic-plugins/dist/backstage-community-plugin-azure-devops-backend-dynamic
2736
disabled: false
2837

29-
# QUAY
30-
- package: oci://quay.io/redhat-user-workloads/rhtap-shared-team-tenant/backstage-community-plugins:on-pr-364724f23c7ad589622ab2286a1e6a9d6d59d43b!backstage-community-plugin-quay
38+
# Gitlab
39+
- package: ./dynamic-plugins/dist/immobiliarelabs-backstage-plugin-gitlab
3140
disabled: false
3241
pluginConfig:
3342
dynamicPlugins:
3443
frontend:
35-
backstage-community.plugin-quay:
44+
immobiliarelabs.backstage-plugin-gitlab:
3645
mountPoints:
37-
- mountPoint: entity.page.image-registry/cards
38-
importName: QuayPage
46+
- mountPoint: entity.page.ci/cards
47+
importName: EntityGitlabPipelinesTable
3948
config:
4049
layout:
4150
gridColumn: 1 / -1
4251
if:
43-
anyOf:
44-
- isQuayAvailable
52+
allOf:
53+
- isGitlabAvailable
54+
- hasAnnotation:
55+
- gitlab.com/project-slug
56+
- mountPoint: entity.page.issues/cards
57+
importName: EntityGitlabIssuesTable
58+
config:
59+
layout:
60+
gridColumn: 1 / -1
61+
if:
62+
allOf:
63+
- isGitlabAvailable
64+
- mountPoint: entity.page.pull-requests/cards
65+
importName: EntityGitlabMergeRequestsTable
66+
config:
67+
layout:
68+
gridColumn: 1 / -1
69+
if:
70+
allOf:
71+
- isGitlabAvailable
4572

46-
- package: oci://quay.io/redhat-user-workloads/rhtap-shared-team-tenant/backstage-community-plugins:on-pr-364724f23c7ad589622ab2286a1e6a9d6d59d43b!backstage-community-plugin-quay-backend-dynamic
73+
# Gitlab Backend
74+
- package: ./dynamic-plugins/dist/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic
4775
disabled: false
4876

49-
# ArgoCD
50-
51-
- package: oci://quay.io/redhat-user-workloads/rhtap-shared-team-tenant/backstage-community-plugins:on-pr-364724f23c7ad589622ab2286a1e6a9d6d59d43b!backstage-community-plugin-redhat-argocd
77+
# Quay plugin
78+
- package: oci://<registry>/<username>/<repository>:release-x.y!tssc-plugins-backstage-community-plugin-quay
5279
disabled: false
5380
pluginConfig:
5481
dynamicPlugins:
5582
frontend:
56-
backstage-community.plugin-redhat-argocd:
83+
tssc-plugins.backstage-community-plugin-quay:
5784
mountPoints:
58-
- mountPoint: entity.page.cd/cards
59-
importName: ArgocdDeploymentLifecycle
85+
- mountPoint: entity.page.ci/cards
86+
importName: QuayPage
6087
config:
6188
layout:
6289
gridColumn: 1 / -1
6390
if:
64-
anyOf:
65-
- isArgocdConfigured
66-
- mountPoint: entity.page.cd/cards
67-
importName: ArgocdDeploymentSummary
91+
allOf:
92+
- isQuayAvailable
93+
94+
- package: oci://<registry>/<username>/<repository>:release-x.y!tssc-plugins-backstage-community-plugin-quay-backend
95+
disabled: false
96+
97+
# K8s
98+
- package: ./dynamic-plugins/dist/backstage-plugin-kubernetes
99+
disabled: false
100+
pluginConfig:
101+
dynamicPlugins:
102+
frontend:
103+
backstage.plugin-kubernetes:
104+
mountPoints:
105+
- mountPoint: entity.page.kubernetes/cards
106+
importName: EntityKubernetesContent
68107
config:
69108
layout:
70109
gridColumn: 1 / -1
71110
if:
72111
anyOf:
73-
- isArgocdConfigured
112+
- hasAnnotation: backstage.io/kubernetes-id
113+
- hasAnnotation: backstage.io/kubernetes-namespace
114+
115+
116+
- package: ./dynamic-plugins/dist/backstage-plugin-kubernetes-backend-dynamic
117+
disabled: false
74118

75-
- package: oci://quay.io/redhat-user-workloads/rhtap-shared-team-tenant/backstage-community-plugins:on-pr-364724f23c7ad589622ab2286a1e6a9d6d59d43b!backstage-community-plugin-redhat-argocd-backend-dynamic
119+
# TEKTON
120+
- package: oci://<registry>/<username>/<repository>:release-x.y!tssc-plugins-backstage-community-plugin-tekton
76121
disabled: false
122+
pluginConfig:
123+
dynamicPlugins:
124+
frontend:
125+
tssc-plugins.backstage-community-plugin-tekton:
126+
mountPoints:
127+
- config:
128+
if:
129+
allOf:
130+
- isTektonCIAvailable
131+
layout:
132+
gridColumn: 1 / -1
133+
gridRowStart: 1
134+
importName: TektonCI
135+
mountPoint: entity.page.ci/cards
77136

78137
# Jenkins
79138
- package: ./dynamic-plugins/dist/backstage-community-plugin-jenkins
@@ -103,25 +162,51 @@ plugins:
103162
- package: ./dynamic-plugins/dist/backstage-community-plugin-jenkins-backend-dynamic
104163
disabled: false
105164

106-
# Multi Source Security Viewer
107-
# TODO
108-
# - package: oci://quay.io/bramos/mssv:latest!backstage-community-plugin-multi-source-security-viewer-dynamic
109-
# disabled: false
110-
# pluginConfig:
111-
# dynamicPlugins:
112-
# frontend:
113-
# backstage-community.plugin-multi-source-security-viewer:
114-
# mountPoints:
115-
# - config:
116-
# layout:
117-
# gridColumn: 1 / -1
118-
# gridRowStart: 2
119-
# importName: EntityMultiCIPipelinesContent
120-
# mountPoint: entity.page.ci/cards
121-
# entityTabs:
122-
# - path: /ci
123-
# title: CI
124-
# mountPoint: entity.page.ci
125-
126-
# AZURE-DEVOPS
127-
# TODO
165+
# ArgoCD
166+
- package: oci://<registry>/<username>/<repository>:release-x.y!tssc-plugins-backstage-community-plugin-redhat-argocd
167+
disabled: false
168+
pluginConfig:
169+
dynamicPlugins:
170+
frontend:
171+
backstage-community.plugin-redhat-argocd:
172+
#tssc-plugins.backstage-community-plugin-redhat-argocd:
173+
mountPoints:
174+
- mountPoint: entity.page.ci/cards
175+
importName: ArgocdDeploymentLifecycle
176+
config:
177+
layout:
178+
gridColumn: 1 / -1
179+
if:
180+
allOf:
181+
- isArgocdConfigured
182+
183+
- mountPoint: entity.page.ci/cards
184+
importName: ArgocdDeploymentSummary
185+
config:
186+
layout:
187+
gridColumn: 1 / -1
188+
if:
189+
allOf:
190+
- isArgocdConfigured
191+
192+
# ArgoCD Backend
193+
- package: oci://<registry>/<username>/<repository>:release-x.y!tssc-plugins-backstage-community-plugin-redhat-argocd-backend
194+
disabled: false
195+
196+
# MSSV
197+
- package: oci://<registry>/<username>/<repository>:release-x.y!tssc-plugins-backstage-community-plugin-multi-source-security-viewer-dynamic
198+
disabled: false
199+
pluginConfig:
200+
dynamicPlugins:
201+
frontend:
202+
tssc-plugins.backstage-community-plugin-multi-source-security-viewer:
203+
mountPoints:
204+
- config:
205+
layout:
206+
gridColumn: 1 / -1
207+
gridRowStart: 2
208+
if:
209+
allOf:
210+
- isMultiCIAvailable
211+
importName: EntityMultiCIPipelinesContent
212+
mountPoint: entity.page.ci/cards

0 commit comments

Comments
 (0)