@backstage-community/plugin-multi-source-security-viewer-backend 0.2.0

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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,12 @@
1
+ # @backstage-community/plugin-multi-source-security-viewer-backend
2
+
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 3338247: Create the Multi Source Security Viewer backend plugin. This will enhance the RBAC UX by allowing users to configure the MSSV permissions in the RBAC plugin UI.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [3338247]
12
+ - @backstage-community/plugin-multi-source-security-viewer-common@0.10.0
package/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # Multi Source Security Viewer Backend plugin for Backstage
2
+
3
+ This plugin is used to enable the ability to set RBAC permissions for the multi-source-security-viewer plugin in the RBAC UI.
4
+
5
+ ## Prerequisites
6
+
7
+ - Ensure that you have the [MSSV Frontend plugin configured](../multi-source-security-viewer/README.md).
8
+ - Ensure that you have the [RBAC plugin configured](../../../rbac/plugins/rbac/README.md).
9
+
10
+ ## Installation
11
+
12
+ This plugin is installed via the `@backstage-community/plugin-multi-source-security-viewer-backend` package. To install it to your backend package, run the following command:
13
+
14
+ ```bash
15
+ # From your root directory
16
+ yarn --cwd packages/backend add @backstage-community/plugin-multi-source-security-viewer-backend
17
+ ```
18
+
19
+ Then add the plugin to your backend in `packages/backend/src/index.ts`:
20
+
21
+ ```ts
22
+ const backend = createBackend();
23
+ // ...
24
+ backend.add(
25
+ import('@backstage-community/plugin-multi-source-security-viewer-backend'),
26
+ );
27
+ ```
28
+
29
+ ## Configuration
30
+
31
+ Once installed you can enable RBAC permissions for this plugin.
32
+
33
+ ```yaml
34
+ permission:
35
+ enabled: true
36
+ rbac:
37
+ pluginsWithPermission:
38
+ - multi-source-security-viewer
39
+ ```
40
+
41
+ You should now be able to see the permissions for this plugin show up in the RBAC UI:
42
+
43
+ **Selecting MSSV permission**:
44
+
45
+ ![selecting-mssv-permission](./docs/images/selecting-mssv-permission.png)
46
+
47
+ **Configuring MSSV permission:**
48
+
49
+ ![selecting-mssv-permission](./docs/images/configuring-mssv-permission.png)
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var plugin = require('./plugin.cjs.js');
6
+
7
+
8
+
9
+ exports.default = plugin.multiSourceSecurityViewerPlugin;
10
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api';
2
+
3
+ /**
4
+ * multiSourceSecurityViewerPlugin backend plugin
5
+ *
6
+ * @public
7
+ */
8
+ declare const multiSourceSecurityViewerPlugin: _backstage_backend_plugin_api.BackendFeature;
9
+
10
+ export { multiSourceSecurityViewerPlugin as default };
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var backendPluginApi = require('@backstage/backend-plugin-api');
4
+ var pluginMultiSourceSecurityViewerCommon = require('@backstage-community/plugin-multi-source-security-viewer-common');
5
+
6
+ const multiSourceSecurityViewerPlugin = backendPluginApi.createBackendPlugin({
7
+ pluginId: "multi-source-security-viewer",
8
+ register(env) {
9
+ env.registerInit({
10
+ deps: {
11
+ permissionsRegistry: backendPluginApi.coreServices.permissionsRegistry
12
+ },
13
+ async init({ permissionsRegistry }) {
14
+ permissionsRegistry.addPermissions([pluginMultiSourceSecurityViewerCommon.mssvViewPermission]);
15
+ }
16
+ });
17
+ }
18
+ });
19
+
20
+ exports.multiSourceSecurityViewerPlugin = multiSourceSecurityViewerPlugin;
21
+ //# sourceMappingURL=plugin.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.cjs.js","sources":["../src/plugin.ts"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n coreServices,\n createBackendPlugin,\n} from '@backstage/backend-plugin-api';\nimport { mssvViewPermission } from '@backstage-community/plugin-multi-source-security-viewer-common';\n\n/**\n * multiSourceSecurityViewerPlugin backend plugin\n *\n * @public\n */\nexport const multiSourceSecurityViewerPlugin = createBackendPlugin({\n pluginId: 'multi-source-security-viewer',\n register(env) {\n env.registerInit({\n deps: {\n permissionsRegistry: coreServices.permissionsRegistry,\n },\n async init({ permissionsRegistry }) {\n permissionsRegistry.addPermissions([mssvViewPermission]);\n },\n });\n },\n});\n"],"names":["createBackendPlugin","coreServices","mssvViewPermission"],"mappings":";;;;;AA0BO,MAAM,kCAAkCA,oCAAoB,CAAA;AAAA,EACjE,QAAU,EAAA,8BAAA;AAAA,EACV,SAAS,GAAK,EAAA;AACZ,IAAA,GAAA,CAAI,YAAa,CAAA;AAAA,MACf,IAAM,EAAA;AAAA,QACJ,qBAAqBC,6BAAa,CAAA;AAAA,OACpC;AAAA,MACA,MAAM,IAAA,CAAK,EAAE,mBAAA,EAAuB,EAAA;AAClC,QAAoB,mBAAA,CAAA,cAAA,CAAe,CAACC,wDAAkB,CAAC,CAAA;AAAA;AACzD,KACD,CAAA;AAAA;AAEL,CAAC;;;;"}
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "@backstage-community/plugin-multi-source-security-viewer-backend",
3
+ "version": "0.2.0",
4
+ "license": "Apache-2.0",
5
+ "main": "dist/index.cjs.js",
6
+ "types": "dist/index.d.ts",
7
+ "publishConfig": {
8
+ "access": "public",
9
+ "main": "dist/index.cjs.js",
10
+ "types": "dist/index.d.ts"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "https://github.com/backstage/community-plugins",
15
+ "directory": "workspaces/multi-source-security-viewer/plugins/multi-source-security-viewer-backend"
16
+ },
17
+ "backstage": {
18
+ "role": "backend-plugin",
19
+ "pluginId": "multi-source-security-viewer",
20
+ "pluginPackage": "@backstage-community/plugin-multi-source-security-viewer-backend",
21
+ "pluginPackages": [
22
+ "@backstage-community/plugin-multi-source-security-viewer",
23
+ "@backstage-community/plugin-multi-source-security-viewer-backend",
24
+ "@backstage-community/plugin-multi-source-security-viewer-common"
25
+ ],
26
+ "features": {
27
+ ".": "@backstage/BackendFeature"
28
+ }
29
+ },
30
+ "scripts": {
31
+ "start": "backstage-cli package start",
32
+ "build": "backstage-cli package build",
33
+ "lint": "backstage-cli package lint",
34
+ "test": "backstage-cli package test",
35
+ "clean": "backstage-cli package clean",
36
+ "prepack": "backstage-cli package prepack",
37
+ "postpack": "backstage-cli package postpack"
38
+ },
39
+ "dependencies": {
40
+ "@backstage-community/plugin-multi-source-security-viewer-common": "^0.10.0",
41
+ "@backstage/backend-defaults": "^0.14.0",
42
+ "@backstage/backend-plugin-api": "^1.6.0",
43
+ "@backstage/catalog-client": "^1.12.1",
44
+ "@backstage/errors": "^1.2.7",
45
+ "@backstage/plugin-catalog-node": "^1.20.1",
46
+ "@backstage/plugin-permission-common": "^0.9.3",
47
+ "@backstage/plugin-permission-node": "^0.10.7",
48
+ "@backstage/types": "^1.2.2",
49
+ "express": "^4.17.1",
50
+ "express-promise-router": "^4.1.0",
51
+ "zod": "^3.22.4"
52
+ },
53
+ "devDependencies": {
54
+ "@backstage/backend-test-utils": "^1.10.2",
55
+ "@backstage/cli": "^0.35.1",
56
+ "@types/express": "^4.17.6",
57
+ "@types/supertest": "^2.0.12",
58
+ "supertest": "^6.2.4"
59
+ },
60
+ "files": [
61
+ "dist"
62
+ ],
63
+ "typesVersions": {
64
+ "*": {
65
+ "package.json": [
66
+ "package.json"
67
+ ]
68
+ }
69
+ }
70
+ }