From 666e5abefc041a6fbe2f301a01a789865fe5ba46 Mon Sep 17 00:00:00 2001 From: David Weber Date: Mon, 11 Mar 2024 22:34:10 +0100 Subject: [PATCH] feat: implement relations plugin --- .changeset/poor-humans-agree.md | 6 + app-config.yaml | 36 ++- packages/app/package.json | 1 + packages/app/src/App.tsx | 4 +- .../app/src/components/catalog/EntityPage.tsx | 36 ++- .../src/components/catalog/relationLabels.ts | 26 ++ packages/backend/package.json | 1 + packages/backend/src/plugins/catalog.ts | 2 + plugins/accentuate/package.json | 4 +- plugins/api-docs-module-wsdl/package.json | 5 +- plugins/api-docs-spectral-linter/package.json | 4 +- plugins/endoflife/package.json | 4 +- plugins/relations-backend/.eslintrc.js | 1 + plugins/relations-backend/README.md | 156 ++++++++++ plugins/relations-backend/config.d.ts | 47 +++ plugins/relations-backend/docs/graph.png | Bin 0 -> 77404 bytes .../relations-backend/docs/ownership-card.png | Bin 0 -> 305462 bytes plugins/relations-backend/docs/pluginIcon.png | Bin 0 -> 28254 bytes plugins/relations-backend/examples/all.yaml | 12 + .../examples/component-1.yaml | 9 + .../relations-backend/examples/group-1.yaml | 11 + .../examples/resource-1.yaml | 10 + .../examples/user-john-doe.yaml | 9 + .../relations-backend/examples/user-po.yaml | 9 + plugins/relations-backend/package.json | 53 ++++ plugins/relations-backend/src/index.ts | 7 + plugins/relations-backend/src/plugin.ts | 29 ++ .../processor/Relation.v1alpha1.schema.json | 26 ++ .../__snapshots__/processor.test.ts.snap | 39 +++ .../relations-backend/src/processor/index.ts | 2 + .../src/processor/processor.test.ts | 281 ++++++++++++++++++ .../src/processor/processor.ts | 136 +++++++++ .../src/processor/processorConfig.test.ts | 201 +++++++++++++ .../src/processor/processorConfig.ts | 80 +++++ plugins/relations/.eslintrc.js | 1 + plugins/relations/README.md | 103 +++++++ plugins/relations/config.d.ts | 26 ++ plugins/relations/docs/graph.png | Bin 0 -> 75446 bytes plugins/relations/docs/relations-card.png | Bin 0 -> 28798 bytes plugins/relations/package.json | 60 ++++ .../EntityRelationsCard/AboutField.tsx | 59 ++++ .../EntityRelationsCard.tsx | 37 +++ .../components/EntityRelationsCard/index.ts | 1 + .../EntityRelationsCatalogGraphCard.tsx | 10 + .../EntityRelationsCatalogGraphCard/index.ts | 1 + .../RelationsCatalogGraphPage.tsx | 10 + .../RelationsCatalogGraphPage/index.ts | 1 + .../__snapshots__/useRelations.test.tsx.snap | 40 +++ ...elationsCatalogGraphDefaults.test.tsx.snap | 47 +++ plugins/relations/src/hooks/index.ts | 3 + .../relations/src/hooks/useRelations.test.tsx | 111 +++++++ plugins/relations/src/hooks/useRelations.tsx | 69 +++++ .../useRelationsCatalogGraphDefaults.test.tsx | 97 ++++++ .../useRelationsCatalogGraphDefaults.tsx | 56 ++++ plugins/relations/src/index.ts | 10 + plugins/relations/src/plugin.test.ts | 7 + plugins/relations/src/plugin.ts | 56 ++++ plugins/relations/src/setupTests.ts | 2 + plugins/tips/package.json | 4 +- yarn.lock | 135 ++++----- 60 files changed, 2105 insertions(+), 88 deletions(-) create mode 100644 .changeset/poor-humans-agree.md create mode 100644 packages/app/src/components/catalog/relationLabels.ts create mode 100644 plugins/relations-backend/.eslintrc.js create mode 100644 plugins/relations-backend/README.md create mode 100644 plugins/relations-backend/config.d.ts create mode 100644 plugins/relations-backend/docs/graph.png create mode 100644 plugins/relations-backend/docs/ownership-card.png create mode 100644 plugins/relations-backend/docs/pluginIcon.png create mode 100644 plugins/relations-backend/examples/all.yaml create mode 100644 plugins/relations-backend/examples/component-1.yaml create mode 100644 plugins/relations-backend/examples/group-1.yaml create mode 100644 plugins/relations-backend/examples/resource-1.yaml create mode 100644 plugins/relations-backend/examples/user-john-doe.yaml create mode 100644 plugins/relations-backend/examples/user-po.yaml create mode 100644 plugins/relations-backend/package.json create mode 100644 plugins/relations-backend/src/index.ts create mode 100644 plugins/relations-backend/src/plugin.ts create mode 100644 plugins/relations-backend/src/processor/Relation.v1alpha1.schema.json create mode 100644 plugins/relations-backend/src/processor/__snapshots__/processor.test.ts.snap create mode 100644 plugins/relations-backend/src/processor/index.ts create mode 100644 plugins/relations-backend/src/processor/processor.test.ts create mode 100644 plugins/relations-backend/src/processor/processor.ts create mode 100644 plugins/relations-backend/src/processor/processorConfig.test.ts create mode 100644 plugins/relations-backend/src/processor/processorConfig.ts create mode 100644 plugins/relations/.eslintrc.js create mode 100644 plugins/relations/README.md create mode 100644 plugins/relations/config.d.ts create mode 100644 plugins/relations/docs/graph.png create mode 100644 plugins/relations/docs/relations-card.png create mode 100644 plugins/relations/package.json create mode 100644 plugins/relations/src/components/EntityRelationsCard/AboutField.tsx create mode 100644 plugins/relations/src/components/EntityRelationsCard/EntityRelationsCard.tsx create mode 100644 plugins/relations/src/components/EntityRelationsCard/index.ts create mode 100644 plugins/relations/src/components/EntityRelationsCatalogGraphCard/EntityRelationsCatalogGraphCard.tsx create mode 100644 plugins/relations/src/components/EntityRelationsCatalogGraphCard/index.ts create mode 100644 plugins/relations/src/components/RelationsCatalogGraphPage/RelationsCatalogGraphPage.tsx create mode 100644 plugins/relations/src/components/RelationsCatalogGraphPage/index.ts create mode 100644 plugins/relations/src/hooks/__snapshots__/useRelations.test.tsx.snap create mode 100644 plugins/relations/src/hooks/__snapshots__/useRelationsCatalogGraphDefaults.test.tsx.snap create mode 100644 plugins/relations/src/hooks/index.ts create mode 100644 plugins/relations/src/hooks/useRelations.test.tsx create mode 100644 plugins/relations/src/hooks/useRelations.tsx create mode 100644 plugins/relations/src/hooks/useRelationsCatalogGraphDefaults.test.tsx create mode 100644 plugins/relations/src/hooks/useRelationsCatalogGraphDefaults.tsx create mode 100644 plugins/relations/src/index.ts create mode 100644 plugins/relations/src/plugin.test.ts create mode 100644 plugins/relations/src/plugin.ts create mode 100644 plugins/relations/src/setupTests.ts diff --git a/.changeset/poor-humans-agree.md b/.changeset/poor-humans-agree.md new file mode 100644 index 0000000..e9a6b60 --- /dev/null +++ b/.changeset/poor-humans-agree.md @@ -0,0 +1,6 @@ +--- +'@dweber019/backstage-plugin-relations-processor': patch +'@dweber019/backstage-plugin-relations': patch +--- + +Inital release of relations plugin. diff --git a/app-config.yaml b/app-config.yaml index bdd5883..ffb1ee1 100644 --- a/app-config.yaml +++ b/app-config.yaml @@ -66,7 +66,7 @@ scaffolder: catalog: rules: - - allow: [Component, System, API, Resource, Location, User, Group] + - allow: [Component, System, API, Resource, Location, Group, User] locations: # Local example data, file locations are relative to the backend process, typically `packages/backend` - type: file @@ -88,9 +88,43 @@ catalog: - type: file target: ../../plugins/accentuate-backend/examples/all.yaml + - type: file + target: ../../plugins/relations-processor/examples/all.yaml + spectralLinter: openApiRulesetUrl: https://gist.githubusercontent.com/dweber019/a368819668a76363849db6378792e907/raw/backstage-spectral-linter-openapi-ruleset.yaml asyncApiRulesetUrl: https://gist.githubusercontent.com/dweber019/a368819668a76363849db6378792e907/raw/backstage-spectral-linter-asyncapi-ruleset.yaml accentuate: allowedKinds: ['User', 'Group', 'Component', 'Resource', 'System', 'Domain'] + +relationsProcessor: + relations: + - sourceKind: component + sourceType: + targetKinds: + - user + attribute: applicationOwner + multi: false + pairs: + - incoming: applicationOwnerOf + outgoing: applicationOwnerBy + - incoming: ownerOf + outgoing: ownedBy + - sourceKind: group + targetKinds: + - user + attribute: productOwner + multi: false + pairs: + - incoming: productOwnerOf + outgoing: productOwnerBy + - sourceKind: resource + targetKinds: + - user + - group + attribute: supporter + multi: true + pairs: + - incoming: supporterOf + outgoing: supportedBy diff --git a/packages/app/package.json b/packages/app/package.json index bdbf31d..5d35656 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -35,6 +35,7 @@ "@dweber019/backstage-plugin-api-docs-module-wsdl": "^0.0.5", "@dweber019/backstage-plugin-api-docs-spectral-linter": "^0.2.11", "@dweber019/backstage-plugin-endoflife": "^0.0.3", + "@dweber019/backstage-plugin-relations": "0.0.0", "@dweber019/backstage-plugin-tips": "^0.0.8", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx index b37e274..50ba197 100644 --- a/packages/app/src/App.tsx +++ b/packages/app/src/App.tsx @@ -44,7 +44,7 @@ import { Root } from './components/Root'; import { AlertDisplay, OAuthRequestDialog } from '@backstage/core-components'; import { createApp } from '@backstage/app-defaults'; import { AppRouter, FlatRoutes } from '@backstage/core-app-api'; -import { CatalogGraphPage } from '@backstage/plugin-catalog-graph'; +import { RelationsCatalogGraphPage } from '@dweber019/backstage-plugin-relations'; import { RequirePermission } from '@backstage/plugin-permission-react'; import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha'; import { AccentuatePage } from '@dweber019/backstage-plugin-accentuate'; @@ -103,7 +103,7 @@ const routes = ( {searchPage} } /> - } /> + } /> } /> ); diff --git a/packages/app/src/components/catalog/EntityPage.tsx b/packages/app/src/components/catalog/EntityPage.tsx index 6d9e257..0ea0c35 100644 --- a/packages/app/src/components/catalog/EntityPage.tsx +++ b/packages/app/src/components/catalog/EntityPage.tsx @@ -59,6 +59,11 @@ import { isEndOfLifeAvailable, } from '@dweber019/backstage-plugin-endoflife'; import { EntityTipsDialog } from '@dweber019/backstage-plugin-tips'; +import { + EntityRelationsCard, + EntityRelationsCatalogGraphCard, +} from '@dweber019/backstage-plugin-relations'; +import { relationLabels } from './relationLabels'; import { EntityAccentuateInfo, isAccentuateEnabled, @@ -135,13 +140,16 @@ const overviewContent = ( - + - + - + + + + @@ -270,7 +278,7 @@ const apiPage = ( - + @@ -315,6 +323,16 @@ const userPage = ( + + + + + + @@ -331,6 +349,12 @@ const groupPage = ( + + + + + + @@ -351,7 +375,7 @@ const systemPage = ( - + @@ -398,7 +422,7 @@ const domainPage = ( - + diff --git a/packages/app/src/components/catalog/relationLabels.ts b/packages/app/src/components/catalog/relationLabels.ts new file mode 100644 index 0000000..5bd940d --- /dev/null +++ b/packages/app/src/components/catalog/relationLabels.ts @@ -0,0 +1,26 @@ +export const relationLabels = [ + { + name: 'applicationOwnerOf', + label: 'Application owner of', + }, + { + name: 'applicationOwnerBy', + label: 'Application owner', + }, + { + name: 'productOwnerOf', + label: 'Product owner of', + }, + { + name: 'productOwnerBy', + label: 'Product owner', + }, + { + name: 'supporterOf', + label: 'Supporter of', + }, + { + name: 'supporterBy', + label: 'Supporter', + }, +]; diff --git a/packages/backend/package.json b/packages/backend/package.json index bf4a2fd..53028af 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -42,6 +42,7 @@ "@dweber019/backstage-plugin-accentuate-backend": "^0.0.0", "@dweber019/backstage-plugin-api-docs-module-wsdl-backend": "^0.0.7", "@dweber019/backstage-plugin-endoflife-backend": "^0.0.2", + "@dweber019/backstage-plugin-relations-backend": "0.0.0", "app": "link:../app", "better-sqlite3": "^9.0.0", "dockerode": "^3.3.1", diff --git a/packages/backend/src/plugins/catalog.ts b/packages/backend/src/plugins/catalog.ts index 321171a..7bab84f 100644 --- a/packages/backend/src/plugins/catalog.ts +++ b/packages/backend/src/plugins/catalog.ts @@ -17,6 +17,7 @@ import { CatalogBuilder } from '@backstage/plugin-catalog-backend'; import { ScaffolderEntitiesProcessor } from '@backstage/plugin-catalog-backend-module-scaffolder-entity-model'; import { Router } from 'express'; import { PluginEnvironment } from '../types'; +import { RelationEntitiesProcessor } from '@dweber019/backstage-plugin-relations-backend'; import { AccentuateEntitiesProcessor } from '@dweber019/backstage-plugin-accentuate-backend'; export default async function createPlugin( @@ -28,6 +29,7 @@ export default async function createPlugin( builder.addProcessor( await AccentuateEntitiesProcessor.fromEnv(envAccentuate), ); + builder.addProcessor(RelationEntitiesProcessor.fromConfig(env)); const { processingEngine, router } = await builder.build(); await processingEngine.start(); return router; diff --git a/plugins/accentuate/package.json b/plugins/accentuate/package.json index 5e82f8f..c2f67a6 100644 --- a/plugins/accentuate/package.json +++ b/plugins/accentuate/package.json @@ -53,8 +53,8 @@ "@backstage/cli": "^0.26.1", "@backstage/dev-utils": "^1.0.29", "@backstage/test-utils": "^1.5.2", - "@testing-library/jest-dom": "^5.10.1", - "@testing-library/react": "^12.1.3", + "@testing-library/jest-dom": "^6.0.0", + "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/lodash": "^4.17.0", "@types/node": "*", diff --git a/plugins/api-docs-module-wsdl/package.json b/plugins/api-docs-module-wsdl/package.json index 8da504f..78cf2e8 100644 --- a/plugins/api-docs-module-wsdl/package.json +++ b/plugins/api-docs-module-wsdl/package.json @@ -49,8 +49,9 @@ "@backstage/dev-utils": "^1.0.29", "@backstage/plugin-api-docs": "^0.11.2", "@backstage/test-utils": "^1.5.2", - "@testing-library/jest-dom": "^5.16.4", - "@types/react": "^16.13.1 || ^17.0.0" + "@testing-library/jest-dom": "^6.0.0", + "@testing-library/react": "^14.0.0", + "@testing-library/user-event": "^14.0.0" }, "files": [ "dist" diff --git a/plugins/api-docs-spectral-linter/package.json b/plugins/api-docs-spectral-linter/package.json index 6c230e6..a617b4f 100644 --- a/plugins/api-docs-spectral-linter/package.json +++ b/plugins/api-docs-spectral-linter/package.json @@ -48,8 +48,8 @@ "@backstage/cli": "^0.26.1", "@backstage/dev-utils": "^1.0.29", "@backstage/test-utils": "^1.5.2", - "@testing-library/jest-dom": "^5.10.1", - "@testing-library/react": "^12.1.3", + "@testing-library/jest-dom": "^6.0.0", + "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/node": "*", "cross-fetch": "^3.1.5", diff --git a/plugins/endoflife/package.json b/plugins/endoflife/package.json index b2433c7..6202dbd 100644 --- a/plugins/endoflife/package.json +++ b/plugins/endoflife/package.json @@ -49,8 +49,8 @@ "@backstage/dev-utils": "^1.0.29", "@backstage/integration": "^1.9.1", "@backstage/test-utils": "^1.5.2", - "@testing-library/jest-dom": "^5.10.1", - "@testing-library/react": "^12.1.3", + "@testing-library/jest-dom": "^6.0.0", + "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/luxon": "^3.4.0", "@types/node": "*", diff --git a/plugins/relations-backend/.eslintrc.js b/plugins/relations-backend/.eslintrc.js new file mode 100644 index 0000000..e2a53a6 --- /dev/null +++ b/plugins/relations-backend/.eslintrc.js @@ -0,0 +1 @@ +module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/plugins/relations-backend/README.md b/plugins/relations-backend/README.md new file mode 100644 index 0000000..877fc20 --- /dev/null +++ b/plugins/relations-backend/README.md @@ -0,0 +1,156 @@ +# Relations processor + +This relations processor plugin emits additional custom relations, which are shown in the +[Catalog Graph](https://github.com/backstage/backstage/blob/master/plugins/catalog-graph/README.md) out of box. + +Additionally, you can install the [Relations frontend plugin](../relations/README.md) for a better frontend experience with this processor. + +![](./docs/graph.png) + +## Install + +### Setup plugin + +First we need to add the `@dweber019/backstage-plugin-relations-backend` package: + +```sh +# From your Backstage root directory +yarn add --cwd packages/backend @dweber019/backstage-plugin-relations-backend +``` + +Then we open the file named `packages/backend/src/plugins/catalog.ts`, and extend it with: + +```ts +import { RelationsEntitiesProcessor } from '@dweber019/backstage-plugin-relations-backend'; + +export default async function createPlugin( + env: PluginEnvironment, +): Promise { + const builder = await CatalogBuilder.create(env); + + builder.addProcessor(RelationEntitiesProcessor.fromConfig(env)); + + const { processingEngine, router } = await builder.build(); + // .. +} +``` + +## Configuration + +See the `config.d.ts` file for a documentation of the configuration. + +Here is a simple configuration, which will add an attribute named `supporter`, which allows relations to `User` and `Group` on a `Resource`. +Additionally, we can use the attribute `applicationOwner` on `Component` to allow relations to a `User`. + +```yaml +relationsProcessor: + relations: + - sourceKind: component + targetKinds: + - user + attribute: applicationOwner + pairs: + - incoming: applicationOwnerOf + outgoing: applicationOwnerBy + - sourceKind: resource + targetKinds: + - user + - group + attribute: supporter + multi: true + pairs: + - incoming: supporterOf + outgoing: supportedBy +``` + +## Usage + +The above definitions would allow to define the following entities + +```yaml +apiVersion: backstage.io/v1alpha1 +kind: Resource +metadata: + name: resource-1 +spec: + type: db + owner: group:default/group-1 + supporter: + - john-doe + - group:default/group-1 +--- +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: component-1 +spec: + type: service + lifecycle: production + owner: group:default/group-1 + applicationOwner: user:default/kevin-po +``` + +### Catalog graph + +Waiting for [backstage/23478](https://github.com/backstage/backstage/pull/23478). + +It's recommend to use the [Relations frontend plugin](../relations/README.md) to add new relations to the filters and set good defaults. + +### Using well known relations + +You can use the [Well-known Relations between Catalog Entities](https://backstage.io/docs/features/software-catalog/well-known-relations#ownedby-and-ownerof) +relations with this plugin. This is useful if a component is owned by a group and has an application owner, which should have an ownership too. + +```yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: component-1 +spec: + type: service + lifecycle: production + owner: group:default/group-1 + applicationOwner: user:default/kevin-po +``` + +To enable the owner relation use the following configuration. + +```yaml +relationsProcessor: + relations: + - sourceKind: component + targetKinds: + - user + attribute: applicationOwner + pairs: + - incoming: applicationOwnerOf + outgoing: applicationOwnerBy + - incoming: ownerOf + outgoing: ownerBy +``` + +![](./docs/ownership-card.png) + +### New Backend System + +The backend plugin has support for the [new backend system](https://backstage.io/docs/backend-system/), here's how you can set that up: + +In your `packages/backend/src/index.ts` make the following changes: + +```diff + ++ import { catalogModuleRelationsProcessor } from '@dweber019/backstage-plugin-relations-backend'; + const backend = createBackend(); + ++ backend.add(catalogModuleRelationsProcessor()); + +// ... other feature additions + + backend.start(); +``` + +> This was not tested and is here for reference + +## Icon + +Thanks for the icon [Machine-learning icons created by Becris - Flaticon](https://www.flaticon.com/free-icons/machine-learning) diff --git a/plugins/relations-backend/config.d.ts b/plugins/relations-backend/config.d.ts new file mode 100644 index 0000000..3709fd2 --- /dev/null +++ b/plugins/relations-backend/config.d.ts @@ -0,0 +1,47 @@ +export interface Config { + relationsProcessor: { + /** + * A list relation definitions. + * @visibility frontend + */ + relations: { + /** + * The Kind of entities the relation applies to, e.g. group, user, component. + */ + sourceKind: string; + /** + * The `spec.type` as a filter option for the relation. + */ + sourceType?: string; + /** + * The Kinds of entities the relation allows as a target, e.g. group, user, component. + * Allows any entity Kind if not defined. + */ + targetKinds?: string[]; + /** + * The attribute used at `spec.` on the sourceKind for the relation. + */ + attribute: string; + /** + * If the value of the `attribute` is a `string` or `string[]`. Defaults to false. + */ + multi?: boolean; + /** + * Definition of relation pairs used to express the relation. + * @visibility frontend + */ + pairs: { + /** + * The incoming relation name from target to source. + * @visibility frontend + */ + incoming: string; + /** + * The outgoing relation name from source to target. + * @visibility frontend + */ + outgoing: string; + }[]; + }[]; + }; +} diff --git a/plugins/relations-backend/docs/graph.png b/plugins/relations-backend/docs/graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9605834f2cf3e46e5a05b26301b8e276464d914b GIT binary patch literal 77404 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 SY|J|Nqo$;#n66;r{r>>rHDF)> literal 0 HcmV?d00001 diff --git a/plugins/relations-backend/docs/ownership-card.png b/plugins/relations-backend/docs/ownership-card.png new file mode 100644 index 0000000000000000000000000000000000000000..58520e880f4d8083a804f1792c697be57f8ce35a GIT binary patch literal 305462 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 literal 0 HcmV?d00001 diff --git a/plugins/relations-backend/docs/pluginIcon.png b/plugins/relations-backend/docs/pluginIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..8a4c7ea67f8305c9243520ca47714c7ac62348ba GIT binary patch literal 28254 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 E0J{fGssI20 literal 0 HcmV?d00001 diff --git a/plugins/relations-backend/examples/all.yaml b/plugins/relations-backend/examples/all.yaml new file mode 100644 index 0000000..4ee32bb --- /dev/null +++ b/plugins/relations-backend/examples/all.yaml @@ -0,0 +1,12 @@ +apiVersion: backstage.io/v1alpha1 +kind: Location +metadata: + name: relation-processor + description: Examples of standard kinds extended with relations +spec: + targets: + - ./group-1.yaml + - ./user-john-doe.yaml + - ./user-po.yaml + - ./component-1.yaml + - ./resource-1.yaml diff --git a/plugins/relations-backend/examples/component-1.yaml b/plugins/relations-backend/examples/component-1.yaml new file mode 100644 index 0000000..6f78cdd --- /dev/null +++ b/plugins/relations-backend/examples/component-1.yaml @@ -0,0 +1,9 @@ +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: component-1 +spec: + type: service + lifecycle: production + owner: group:default/group-1 + applicationOwner: user:default/kevin-po diff --git a/plugins/relations-backend/examples/group-1.yaml b/plugins/relations-backend/examples/group-1.yaml new file mode 100644 index 0000000..08b58f3 --- /dev/null +++ b/plugins/relations-backend/examples/group-1.yaml @@ -0,0 +1,11 @@ +apiVersion: backstage.io/v1alpha1 +kind: Group +metadata: + name: group-1 +spec: + type: team + children: [] + members: + - john-doe + - kevin-po + productOwner: user:default/kevin-po diff --git a/plugins/relations-backend/examples/resource-1.yaml b/plugins/relations-backend/examples/resource-1.yaml new file mode 100644 index 0000000..f5fcec3 --- /dev/null +++ b/plugins/relations-backend/examples/resource-1.yaml @@ -0,0 +1,10 @@ +apiVersion: backstage.io/v1alpha1 +kind: resource +metadata: + name: resource-1 +spec: + type: db + owner: group:default/group-1 + supporter: + - john-doe + - group:default/group-1 diff --git a/plugins/relations-backend/examples/user-john-doe.yaml b/plugins/relations-backend/examples/user-john-doe.yaml new file mode 100644 index 0000000..94dee83 --- /dev/null +++ b/plugins/relations-backend/examples/user-john-doe.yaml @@ -0,0 +1,9 @@ +apiVersion: backstage.io/v1alpha1 +kind: User +metadata: + name: john-doe +spec: + profile: + displayName: John Doe + email: john-doe@example.com + memberOf: [] diff --git a/plugins/relations-backend/examples/user-po.yaml b/plugins/relations-backend/examples/user-po.yaml new file mode 100644 index 0000000..6d7b45c --- /dev/null +++ b/plugins/relations-backend/examples/user-po.yaml @@ -0,0 +1,9 @@ +apiVersion: backstage.io/v1alpha1 +kind: User +metadata: + name: kevin-po +spec: + profile: + displayName: Kevin the PO + email: kevin-po@example.com + memberOf: [] diff --git a/plugins/relations-backend/package.json b/plugins/relations-backend/package.json new file mode 100644 index 0000000..1a775b3 --- /dev/null +++ b/plugins/relations-backend/package.json @@ -0,0 +1,53 @@ +{ + "name": "@dweber019/backstage-plugin-relations-backend", + "homepage": "https://github.com/dweber019/backstage-plugins/tree/main/plugins/relations-backend", + "repository": { + "type": "git", + "url": "https://github.com/dweber019/backstage-plugins.git" + }, + "license": "MIT", + "version": "0.0.0", + "main": "src/index.ts", + "types": "src/index.ts", + "publishConfig": { + "access": "public", + "main": "dist/index.cjs.js", + "types": "dist/index.d.ts" + }, + "backstage": { + "role": "backend-plugin" + }, + "scripts": { + "start": "backstage-cli package start", + "build": "backstage-cli package build", + "lint": "backstage-cli package lint", + "test": "backstage-cli package test", + "clean": "backstage-cli package clean", + "prepack": "backstage-cli package prepack", + "postpack": "backstage-cli package postpack" + }, + "dependencies": { + "@backstage/backend-common": "^0.21.5", + "@backstage/backend-plugin-api": "^0.6.15", + "@backstage/catalog-model": "^1.4.5", + "@backstage/config": "^1.2.0", + "@backstage/plugin-catalog-common": "^1.0.22", + "@backstage/plugin-catalog-node": "^1.10.0", + "@types/express": "^4.17.6", + "express": "^4.17.1", + "express-promise-router": "^4.1.0", + "node-fetch": "^2.6.5", + "winston": "^3.2.1", + "yn": "^4.0.0" + }, + "devDependencies": { + "@backstage/cli": "^0.26.1", + "@types/supertest": "^2.0.8", + "supertest": "^6.1.3" + }, + "files": [ + "dist", + "config.d.ts" + ], + "configSchema": "config.d.ts" +} diff --git a/plugins/relations-backend/src/index.ts b/plugins/relations-backend/src/index.ts new file mode 100644 index 0000000..f0f2371 --- /dev/null +++ b/plugins/relations-backend/src/index.ts @@ -0,0 +1,7 @@ +/** + * Relation processor plugin. + * + * @packageDocumentation + */ +export { catalogModuleRelationsProcessor } from './plugin'; +export * from './processor'; diff --git a/plugins/relations-backend/src/plugin.ts b/plugins/relations-backend/src/plugin.ts new file mode 100644 index 0000000..359d096 --- /dev/null +++ b/plugins/relations-backend/src/plugin.ts @@ -0,0 +1,29 @@ +import { loggerToWinstonLogger } from '@backstage/backend-common'; +import { + coreServices, + createBackendModule, +} from '@backstage/backend-plugin-api'; +import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha'; +import { RelationEntitiesProcessor } from './processor'; + +export const catalogModuleRelationsProcessor = createBackendModule({ + pluginId: 'catalog', + moduleId: 'relations-processor', + register(env) { + env.registerInit({ + deps: { + catalog: catalogProcessingExtensionPoint, + logger: coreServices.logger, + config: coreServices.rootConfig, + }, + async init({ catalog, logger, config }) { + catalog.addProcessor( + RelationEntitiesProcessor.fromConfig({ + logger: loggerToWinstonLogger(logger), + config, + }), + ); + }, + }); + }, +}); diff --git a/plugins/relations-backend/src/processor/Relation.v1alpha1.schema.json b/plugins/relations-backend/src/processor/Relation.v1alpha1.schema.json new file mode 100644 index 0000000..4a34615 --- /dev/null +++ b/plugins/relations-backend/src/processor/Relation.v1alpha1.schema.json @@ -0,0 +1,26 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "RelationV1alpha1", + "description": "The schema which is used with the relations processor and will be enhanced with configuration data.", + "allOf": [ + { + "$ref": "Entity" + }, + { + "type": "object", + "required": ["spec"], + "properties": { + "apiVersion": { + "enum": ["backstage.io/v1alpha1", "backstage.io/v1beta1"] + }, + "kind": { + "enum": [] + }, + "spec": { + "type": "object", + "properties": {} + } + } + } + ] +} diff --git a/plugins/relations-backend/src/processor/__snapshots__/processor.test.ts.snap b/plugins/relations-backend/src/processor/__snapshots__/processor.test.ts.snap new file mode 100644 index 0000000..f2e19f8 --- /dev/null +++ b/plugins/relations-backend/src/processor/__snapshots__/processor.test.ts.snap @@ -0,0 +1,39 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`processor should emit relations 1`] = ` +{ + "relation": { + "source": { + "kind": "Component", + "name": "component-name", + "namespace": "default", + }, + "target": { + "kind": "user", + "name": "bruno", + "namespace": "default", + }, + "type": "testBy", + }, + "type": "relation", +} +`; + +exports[`processor should emit relations 2`] = ` +{ + "relation": { + "source": { + "kind": "user", + "name": "bruno", + "namespace": "default", + }, + "target": { + "kind": "Component", + "name": "component-name", + "namespace": "default", + }, + "type": "testOf", + }, + "type": "relation", +} +`; diff --git a/plugins/relations-backend/src/processor/index.ts b/plugins/relations-backend/src/processor/index.ts new file mode 100644 index 0000000..695b177 --- /dev/null +++ b/plugins/relations-backend/src/processor/index.ts @@ -0,0 +1,2 @@ +export { RelationEntitiesProcessor } from './processor'; +export { ProcessorConfig } from './processorConfig'; diff --git a/plugins/relations-backend/src/processor/processor.test.ts b/plugins/relations-backend/src/processor/processor.test.ts new file mode 100644 index 0000000..78be7d0 --- /dev/null +++ b/plugins/relations-backend/src/processor/processor.test.ts @@ -0,0 +1,281 @@ +import { getVoidLogger } from '@backstage/backend-common'; +import { RelationEntitiesProcessor } from './processor'; +import { ProcessorConfig } from './processorConfig'; +import { Entity } from '@backstage/catalog-model'; + +describe('processor', () => { + test('should create return correct name', async () => { + const processorConfig: jest.Mocked = { + getRelations: jest.fn(_ => []), + getSchema: jest.fn(), + } as any; + + const relationEntitiesProcessor = new RelationEntitiesProcessor({ + logger: getVoidLogger(), + processorConfig, + }); + + expect(relationEntitiesProcessor.getProcessorName()).toEqual( + 'RelationEntitiesProcessor', + ); + }); + + test('should emit relations', async () => { + const processorConfig: jest.Mocked = { + getRelations: jest.fn(_ => [ + { + sourceKind: 'component', + targetKinds: 'user', + attribute: 'test', + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + ]), + getSchema: jest.fn(), + } as any; + const entity = { + kind: 'Component', + metadata: { + name: 'component-name', + namespace: 'default', + }, + spec: { + test: 'user:default/bruno', + }, + } as unknown as Entity; + const mockEmit = jest.fn(); + + const relationEntitiesProcessor = new RelationEntitiesProcessor({ + logger: getVoidLogger(), + processorConfig, + }); + await relationEntitiesProcessor.postProcessEntity( + entity, + null as any, + mockEmit, + ); + + expect(mockEmit.mock.calls).toHaveLength(2); + expect(mockEmit.mock.calls[0][0]).toMatchSnapshot(); + expect(mockEmit.mock.calls[1][0]).toMatchSnapshot(); + }); + + test('should not emit relations if targetKind does not match', async () => { + const processorConfig: jest.Mocked = { + getRelations: jest.fn(_ => [ + { + sourceKind: 'component', + targetKinds: 'user', + attribute: 'test', + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + ]), + getSchema: jest.fn(), + } as any; + const entity = { + kind: 'Component', + metadata: { + name: 'component-name', + namespace: 'default', + }, + spec: { + test: 'group:default/team-a', + }, + } as unknown as Entity; + const mockEmit = jest.fn(); + + const relationEntitiesProcessor = new RelationEntitiesProcessor({ + logger: getVoidLogger(), + processorConfig, + }); + await relationEntitiesProcessor.postProcessEntity( + entity, + null as any, + mockEmit, + ); + + expect(mockEmit.mock.calls).toHaveLength(0); + }); + + test('should emit relations when no targetKinds defined', async () => { + const processorConfig: jest.Mocked = { + getRelations: jest.fn(_ => [ + { + sourceKind: 'component', + attribute: 'test', + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + ]), + getSchema: jest.fn(), + } as any; + const entity = { + kind: 'Component', + metadata: { + name: 'component-name', + namespace: 'default', + }, + spec: { + test: 'user:default/bruno', + }, + } as unknown as Entity; + const mockEmit = jest.fn(); + + const relationEntitiesProcessor = new RelationEntitiesProcessor({ + logger: getVoidLogger(), + processorConfig, + }); + await relationEntitiesProcessor.postProcessEntity( + entity, + null as any, + mockEmit, + ); + + expect(mockEmit.mock.calls).toHaveLength(2); + }); + + test('should emit multi relations', async () => { + const processorConfig: jest.Mocked = { + getRelations: jest.fn(_ => [ + { + sourceKind: 'component', + targetKinds: ['user'], + attribute: 'test', + multi: true, + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + ]), + getSchema: jest.fn(), + } as any; + const entity = { + kind: 'Component', + metadata: { + name: 'component-name', + namespace: 'default', + }, + spec: { + test: ['user:default/bruno', 'user:default/kevin'], + }, + } as unknown as Entity; + const mockEmit = jest.fn(); + + const relationEntitiesProcessor = new RelationEntitiesProcessor({ + logger: getVoidLogger(), + processorConfig, + }); + await relationEntitiesProcessor.postProcessEntity( + entity, + null as any, + mockEmit, + ); + + expect(mockEmit.mock.calls).toHaveLength(4); + }); + + test('should emit relations with defaults', async () => { + const processorConfig: jest.Mocked = { + getRelations: jest.fn(_ => [ + { + sourceKind: 'component', + targetKinds: ['user'], + attribute: 'test', + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + ]), + getSchema: jest.fn(), + } as any; + const entity = { + kind: 'Component', + metadata: { + name: 'component-name', + namespace: 'default', + }, + spec: { + test: 'bruno', + }, + } as unknown as Entity; + const mockEmit = jest.fn(); + + const relationEntitiesProcessor = new RelationEntitiesProcessor({ + logger: getVoidLogger(), + processorConfig, + }); + await relationEntitiesProcessor.postProcessEntity( + entity, + null as any, + mockEmit, + ); + + expect(mockEmit.mock.calls).toHaveLength(2); + expect(mockEmit.mock.calls[0][0].relation.target.kind).toEqual('user'); + expect(mockEmit.mock.calls[0][0].relation.target.namespace).toEqual( + 'default', + ); + expect(mockEmit.mock.calls[0][0].relation.target.name).toEqual('bruno'); + }); + + test('should not emit relations without defaults', async () => { + const processorConfig: jest.Mocked = { + getRelations: jest.fn(_ => [ + { + sourceKind: 'component', + attribute: 'test', + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + ]), + getSchema: jest.fn(), + } as any; + const entity = { + kind: 'Component', + metadata: { + name: 'component-name', + namespace: 'default', + }, + spec: { + test: 'bruno', + }, + } as unknown as Entity; + const mockEmit = jest.fn(); + + const relationEntitiesProcessor = new RelationEntitiesProcessor({ + logger: getVoidLogger(), + processorConfig, + }); + + await expect( + relationEntitiesProcessor.postProcessEntity( + entity, + null as any, + mockEmit, + ), + ).rejects.toThrow(Error); + }); +}); diff --git a/plugins/relations-backend/src/processor/processor.ts b/plugins/relations-backend/src/processor/processor.ts new file mode 100644 index 0000000..9d5b53e --- /dev/null +++ b/plugins/relations-backend/src/processor/processor.ts @@ -0,0 +1,136 @@ +import { + CatalogProcessor, + CatalogProcessorEmit, + processingResult, +} from '@backstage/plugin-catalog-node'; +import { LocationSpec } from '@backstage/plugin-catalog-common'; +import { + CompoundEntityRef, + Entity, + entityKindSchemaValidator, + getCompoundEntityRef, + parseEntityRef, + stringifyEntityRef, +} from '@backstage/catalog-model'; +import { Logger } from 'winston'; +import { ProcessorConfig } from './processorConfig'; +import { Config } from '@backstage/config'; + +export class RelationEntitiesProcessor implements CatalogProcessor { + private readonly logger: Logger; + private readonly processorConfig: ProcessorConfig; + private readonly schema; + + constructor(options: { logger: Logger; processorConfig: ProcessorConfig }) { + this.logger = options.logger.child({ + type: 'processor', + processor: this.getProcessorName(), + }); + this.processorConfig = options.processorConfig; + this.schema = this.processorConfig.getSchema(); + } + + getProcessorName(): string { + return 'RelationEntitiesProcessor'; + } + async validateEntityKind(entity: Entity): Promise { + const validator = entityKindSchemaValidator(this.schema); + return !!validator(entity); + } + + async postProcessEntity( + entity: Entity, + _location: LocationSpec, + emit: CatalogProcessorEmit, + ): Promise { + const selfRef = getCompoundEntityRef(entity); + const doEmit = ( + targets: CompoundEntityRef[], + outgoingRelation: string, + incomingRelation: string, + ) => { + if (!Array.isArray(targets)) { + return; + } + for (const targetRef of targets) { + emit( + processingResult.relation({ + source: selfRef, + type: outgoingRelation, + target: { + kind: targetRef.kind, + namespace: targetRef.namespace, + name: targetRef.name, + }, + }), + ); + emit( + processingResult.relation({ + source: { + kind: targetRef.kind, + namespace: targetRef.namespace, + name: targetRef.name, + }, + type: incomingRelation, + target: selfRef, + }), + ); + } + }; + + this.processorConfig.getRelations(entity).forEach(relation => { + const defaultKind = + (Array.isArray(relation.targetKinds) && relation.targetKinds[0]) || + undefined; + const defaultContext = { + defaultKind, + defaultNamespace: selfRef.namespace, + }; + const relationValue = this.getEntityAttribute(entity, relation.attribute); + const targetEntityRefs = + // Or should we use relation.multi, this approach is more forgiving + (Array.isArray(relationValue) ? relationValue : [relationValue]) + .map(stringRef => parseEntityRef(stringRef, defaultContext)) + .filter(entityRef => { + if ( + relation.targetKinds === undefined || + relation.targetKinds.length === 0 || + relation.targetKinds.includes(entityRef.kind) + ) { + this.logger.debug('Add relation to entity', { + entity: stringifyEntityRef(entity), + targetEntity: stringifyEntityRef(entityRef), + attribute: relation.attribute, + }); + return true; + } + this.logger.warn( + 'Relation for target entity is not allowed. Correct target entity or check your targetKinds configuration.', + { + entity: stringifyEntityRef(entity), + targetEntity: stringifyEntityRef(entityRef), + attribute: relation.attribute, + }, + ); + return false; + }); + + relation.pairs.forEach(pair => { + doEmit(targetEntityRefs, pair.outgoing, pair.incoming); + }); + }); + + return entity; + } + + private getEntityAttribute(entity: Entity, attribute: string) { + return entity.spec![attribute] as string[] | string; + } + + public static fromConfig(options: { logger: Logger; config: Config }) { + return new RelationEntitiesProcessor({ + logger: options.logger, + processorConfig: new ProcessorConfig(options.config), + }); + } +} diff --git a/plugins/relations-backend/src/processor/processorConfig.test.ts b/plugins/relations-backend/src/processor/processorConfig.test.ts new file mode 100644 index 0000000..1a645c6 --- /dev/null +++ b/plugins/relations-backend/src/processor/processorConfig.test.ts @@ -0,0 +1,201 @@ +import { ConfigReader } from '@backstage/config'; +import { ProcessorConfig } from './processorConfig'; +import { Entity } from '@backstage/catalog-model'; + +describe('processorConfig', () => { + test('should create correct schema', async () => { + const config = new ConfigReader({ + relationsProcessor: { + relations: [ + { + sourceKind: 'Component', + attribute: 'owner', + pairs: [ + { + incoming: 'ownerOf', + outgoing: 'ownerBy', + }, + ], + }, + { + sourceKind: 'resource', + attribute: 'test', + multi: true, + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + ], + }, + }); + + const processorConfig = new ProcessorConfig(config); + const schema = processorConfig.getSchema(); + + expect(schema.allOf[1].properties?.kind.enum).toContain('component'); + expect(schema.allOf[1].properties?.kind.enum).toContain('resource'); + expect(schema.allOf[1].properties?.spec.properties).toMatchObject({ + owner: { type: 'string' }, + }); + expect(schema.allOf[1].properties?.spec.properties).toMatchObject({ + test: { type: 'array', items: { type: 'string' } }, + }); + }); + + test('should return only test relation', async () => { + const config = new ConfigReader({ + relationsProcessor: { + relations: [ + { + sourceKind: 'Component', + attribute: 'owner', + pairs: [ + { + incoming: 'ownerOf', + outgoing: 'ownerBy', + }, + ], + }, + { + sourceKind: 'component', + attribute: 'test', + multi: true, + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + ], + }, + }); + const entity = { + kind: 'Component', + spec: { + test: 'any', + }, + } as unknown as Entity; + + const processorConfig = new ProcessorConfig(config); + const relations = processorConfig.getRelations(entity); + + expect(relations).toHaveLength(1); + }); + + test('should ignore not matched spec.type relation', async () => { + const config = new ConfigReader({ + relationsProcessor: { + relations: [ + { + sourceKind: 'Component', + attribute: 'owner', + sourceType: 'app', + pairs: [ + { + incoming: 'ownerOf', + outgoing: 'ownerBy', + }, + ], + }, + { + sourceKind: 'component', + attribute: 'test', + multi: true, + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + ], + }, + }); + const entity = { + kind: 'Component', + spec: { + type: 'notApp', + owner: 'any', + test: 'any', + }, + } as unknown as Entity; + + const processorConfig = new ProcessorConfig(config); + const relations = processorConfig.getRelations(entity); + + expect(relations).toHaveLength(1); + }); + + test('should return matched spec.type relation', async () => { + const config = new ConfigReader({ + relationsProcessor: { + relations: [ + { + sourceKind: 'Component', + attribute: 'owner', + sourceType: 'app', + pairs: [ + { + incoming: 'ownerOf', + outgoing: 'ownerBy', + }, + ], + }, + { + sourceKind: 'component', + attribute: 'test', + multi: true, + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + ], + }, + }); + const entity = { + kind: 'Component', + spec: { + type: 'app', + owner: 'any', + test: 'any', + }, + } as unknown as Entity; + + const processorConfig = new ProcessorConfig(config); + const relations = processorConfig.getRelations(entity); + + expect(relations).toHaveLength(2); + }); + + test('should throw error for config errors', async () => { + const config = new ConfigReader({ + relationsProcessor: { + relations: [ + { + sourceKind: 'Component', + // attribute: 'owner', + pairs: [ + { + incoming: 'ownerOf', + outgoing: 'ownerBy', + }, + ], + }, + ], + }, + }); + + const t = () => { + return new ProcessorConfig(config); + }; + + expect(t).toThrow(Error); + }); +}); diff --git a/plugins/relations-backend/src/processor/processorConfig.ts b/plugins/relations-backend/src/processor/processorConfig.ts new file mode 100644 index 0000000..5f746ad --- /dev/null +++ b/plugins/relations-backend/src/processor/processorConfig.ts @@ -0,0 +1,80 @@ +import { Config } from '@backstage/config'; +import relationV1alpha1Schema from './Relation.v1alpha1.schema.json'; +import { Entity } from '@backstage/catalog-model'; + +interface RelationConfig { + sourceKind: string; + sourceType?: string; + targetKinds?: string[]; + attribute: string; + multi?: boolean; + pairs: { + incoming: string; + outgoing: string; + }[]; +} + +export class ProcessorConfig { + private relations: RelationConfig[] = []; + + constructor(config: Config) { + this.extractConfig(config); + } + + getRelations(entity: Entity) { + return this.relations.filter(relation => { + return ( + entity.kind.toLocaleLowerCase() === relation.sourceKind && + entity.spec?.hasOwnProperty(relation.attribute) && + (relation.sourceType === undefined || + (entity.spec?.type && + (entity.spec?.type as string).toLocaleLowerCase() === + relation.sourceType)) + ); + }); + } + + getSchema() { + const finalSchema = relationV1alpha1Schema; + this.relations.forEach(relation => { + if (relation.multi) { + // @ts-ignore + finalSchema.allOf[1].properties.spec.properties[relation.attribute] = { + type: 'array', + items: { + type: 'string', + }, + }; + } else { + // @ts-ignore + finalSchema.allOf[1].properties.spec.properties[relation.attribute] = { + type: 'string', + }; + } + }); + // @ts-ignore + finalSchema.allOf[1].properties.kind.enum = this.relations.map(relation => + relation.sourceKind.toLocaleLowerCase(), + ); + return finalSchema; + } + + private extractConfig(config: Config) { + const configArray = config.getConfigArray('relationsProcessor.relations'); + this.relations = configArray.map(relationConfig => ({ + sourceKind: relationConfig.getString('sourceKind').toLocaleLowerCase(), + sourceType: relationConfig + .getOptionalString('sourceType') + ?.toLocaleLowerCase(), + targetKinds: relationConfig + .getOptionalStringArray('targetKinds') + ?.map(target => target.toLocaleLowerCase()), + attribute: relationConfig.getString('attribute'), + multi: relationConfig.getOptionalBoolean('multi') || false, + pairs: relationConfig.getConfigArray('pairs').map(pairConfig => ({ + incoming: pairConfig.getString('incoming'), + outgoing: pairConfig.getString('outgoing'), + })), + })); + } +} diff --git a/plugins/relations/.eslintrc.js b/plugins/relations/.eslintrc.js new file mode 100644 index 0000000..e2a53a6 --- /dev/null +++ b/plugins/relations/.eslintrc.js @@ -0,0 +1 @@ +module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/plugins/relations/README.md b/plugins/relations/README.md new file mode 100644 index 0000000..1af7823 --- /dev/null +++ b/plugins/relations/README.md @@ -0,0 +1,103 @@ +# Relations Plugin + +Welcome to the relations plugin. + +This plugin improves the experience when using the [relations processor plugin](../relations-backend/README.md) by: + +- Providing a custom component for visualizing relations +- Provide [catalog graph](https://github.com/backstage/backstage/blob/master/plugins/catalog-graph/README.md) wrappers for + - Better defaults + - Add new relations to filter als options + +![](./docs/graph.png) +![](./docs/relations-card.png) + +## Setup + +Install this plugin: + +```bash +# From your Backstage root directory +yarn --cwd packages/app add @dweber019/backstage-plugin-relations +``` + +### Configuration + +You need to have the [relations processor plugin](../relations-backend/README.md) configured. + +### Entity Pages + +You can replace all occurrences of `EntityCatalogGraphCard` with `EntityRelationsCatalogGraphCard` like + +```tsx +// packages/app/src/components/catalog/EntityPage.tsx + +import { EntityRelationsCatalogGraphCard } from '@dweber019/backstage-plugin-relations'; + +const groupPage = ( + + + + {entityWarningContent} + ... + + + + ... + + + +); +``` + +Additionally, there is a custom card called `EntityRelationsCard` to show additional relations. + +```tsx +const userPage = ( + + + + {entityWarningContent} + ... + + + + + + +); +``` + +You can define a list of relations incl. labels to show like above with `relationLabels`, which look like + +```ts +export const relationLabels = [ + { + name: 'applicationOwnerOf', + label: 'Application owner of', + }, + { + name: 'applicationOwnerBy', + label: 'Application owner', + }, +]; +``` + +If you don't define this, only the custom relations (e.g. no owner) will be displayed. + +### Root catalog graph + +The catalog graph at `/catalog-graph` can be changed to by using the `RelationsCatalogGraphPage` like + +```tsx +// packages/app/src/App.tsx + +import { RelationsCatalogGraphPage } from '@dweber019/backstage-plugin-relations'; + +const routes = ( + + ... + } /> + +); +``` diff --git a/plugins/relations/config.d.ts b/plugins/relations/config.d.ts new file mode 100644 index 0000000..0923610 --- /dev/null +++ b/plugins/relations/config.d.ts @@ -0,0 +1,26 @@ +export interface Config { + relationsProcessor: { + /** + * A list relation definitions. + * @visibility frontend + */ + relations: { + /** + * Definition of relation pairs used to express the relation. + * @visibility frontend + */ + pairs: { + /** + * The incoming relation name from target to source. + * @visibility frontend + */ + incoming: string; + /** + * The outgoing relation name from source to target. + * @visibility frontend + */ + outgoing: string; + }[]; + }[]; + }; +} diff --git a/plugins/relations/docs/graph.png b/plugins/relations/docs/graph.png new file mode 100644 index 0000000000000000000000000000000000000000..22282cfc9c304495dedc0e147952014a550c1c8d GIT binary patch literal 75446 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 Q;Rr??;#y4@&u9@YdGH^;Q?kJ_PGRazJM;k! zlx$X*?{UwrR;-4g!v2Ul)QlkMb39AmZ>+oN3RuO5@6Oij`*j@?^6LeRj}5$wu>i38 zGIN?qFjV>L8t@apQYiKKQ`FdMWD@Z|@QM3s1v<^tnnRUTTXJU6r-1oPI9*fh;wg|t z;wO5}L?X%8H?Iou3m*E=Jcq9YQXy6d-^u@kkOzCL5?V*G4U&HrV$^0O~4$ zPQT)*ML6j9J*Nxq$KL6g&uT9>Uopk`o;8M!8k|~w2$Ye3)Z$ffvFLE5(W(8b@!qJ`9Tir;&;RH~d_IX&@b$#nppe}=rMcJ+bj%5emKI;$RH zXIkgI)K~88&{>otJWqLcx9SMef5)8kgz}v_bOC8gHabeRu6wjnF2fNW3vhi;+dxl6 zV~a2MUtIdWa11CBE}r9GqAfbz)1pN_Uxu?VWaYKA#>OmS1zyjo8gXKxl8&J_^ElU^ zfENI=6e7DRv*83Nujk{ROA8Z^e^MeuBTCS^=aK+llHJwS4ZibT#<|1bVtaopdP>?d zF;t&+BITfz$+KMyT~dv(|HuWdV!u6$K6xRK9@+$xn_eezXS_B7G%0waX z$2C};*k;`JgQv~+Y6Lr5*r0cyWDl2)h?jzg>L}FxF2we_5R_FDCSMO$ZRb&%Zesm) z2Zl0Hzz@!qm<%;0FG95;(q}_UghBJaxaI8) z-%|th&gBa|a>pjX_=|W5oW1tqV7!>8};w}je_|@yzrzcveUIlJ@@>}N%L>8CAJ-(V3Q6J3 zr#8EhmgPT-PXGQ3exz{8+fw##58^NHgL@CKdn#u!A%6)P{o9{lI|LtSzjgM1yPQ?N z8@KXnh6{+1t5?q7{SUWr8%}z$kE)3MuTS*mFVN!>%Jtsj|D0?6ldMt|nquzECUE_) zPgDgke#_T^Uw+UL|NgN5W2k=r1qG(6DziTDPrm=(9_GsQ2o(UjL;SPaRP_HkXbtcI ziszu(pM3xCSMuZ4Yc`nG+>?|my8r8-{j&`IZYcg)27f#G{#ge9z0&{L4gT2;{w}cm zvm5+vVEHF0`rE+rPg3-Esm?!1(SPqo|0iAjr#ATSO!~je7yf^0gTE`&{(mfydzM!p X8+W1Z*`#f|3jS%S>8WNaoBRDg$g~5k literal 0 HcmV?d00001 diff --git a/plugins/relations/docs/relations-card.png b/plugins/relations/docs/relations-card.png new file mode 100644 index 0000000000000000000000000000000000000000..3206ac2b866ab88a637eeb5aa4f23a9886c1c5fe GIT binary patch literal 28798 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 Y8Iw~S ({ + value: { + fontWeight: 'bold', + overflow: 'hidden', + lineHeight: '24px', + wordBreak: 'break-word', + }, + label: { + color: theme.palette.text.secondary, + textTransform: 'uppercase', + fontSize: '10px', + fontWeight: 'bold', + letterSpacing: 0.5, + overflow: 'hidden', + whiteSpace: 'nowrap', + }, +})); + +/** + * Props for {@link AboutField}. + * + * @public + */ +export interface AboutFieldProps { + label: string; + value?: string; + gridSizes?: Record; + children?: React.ReactNode; +} + +/** @public */ +export function AboutField(props: AboutFieldProps) { + const { label, value, gridSizes, children } = props; + const classes = useStyles(); + + const childElements = useElementFilter(children, c => c.getElements()); + + // Content is either children or a string prop `value` + const content = + childElements.length > 0 ? ( + childElements + ) : ( + + {value || `unknown`} + + ); + return ( + + + {label} + + {content} + + ); +} diff --git a/plugins/relations/src/components/EntityRelationsCard/EntityRelationsCard.tsx b/plugins/relations/src/components/EntityRelationsCard/EntityRelationsCard.tsx new file mode 100644 index 0000000..4512248 --- /dev/null +++ b/plugins/relations/src/components/EntityRelationsCard/EntityRelationsCard.tsx @@ -0,0 +1,37 @@ +import React from 'react'; +import { EntityRefLink } from '@backstage/plugin-catalog-react'; +import { InfoCard } from '@backstage/core-components'; +import { Grid } from '@material-ui/core'; +import { AboutField } from './AboutField'; +import { RelationsWithLabel, useRelations } from '../../hooks'; + +export interface EntityRelationsCardProps { + title?: string; + relations?: RelationsWithLabel[]; +} + +export const EntityRelationsCard = (props: EntityRelationsCardProps) => { + const { title, relations } = props; + const relationResult = useRelations(relations); + + return ( + + + {relationResult.map((relation, idx) => ( + + {relation.entityRefs.map((entityRef, idx2) => ( + + + {idx2 < relation.entityRefs.length - 1 && , } + + ))} + + ))} + + + ); +}; diff --git a/plugins/relations/src/components/EntityRelationsCard/index.ts b/plugins/relations/src/components/EntityRelationsCard/index.ts new file mode 100644 index 0000000..63d5ffd --- /dev/null +++ b/plugins/relations/src/components/EntityRelationsCard/index.ts @@ -0,0 +1 @@ +export { EntityRelationsCard } from './EntityRelationsCard'; diff --git a/plugins/relations/src/components/EntityRelationsCatalogGraphCard/EntityRelationsCatalogGraphCard.tsx b/plugins/relations/src/components/EntityRelationsCatalogGraphCard/EntityRelationsCatalogGraphCard.tsx new file mode 100644 index 0000000..20366ca --- /dev/null +++ b/plugins/relations/src/components/EntityRelationsCatalogGraphCard/EntityRelationsCatalogGraphCard.tsx @@ -0,0 +1,10 @@ +import React from 'react'; +import { EntityCatalogGraphCard } from '@backstage/plugin-catalog-graph'; +import { useRelationsCatalogGraphDefaults } from '../../hooks'; + +export const EntityRelationsCatalogGraphCard = ( + props: Parameters[0], +) => { + const relationsProps = useRelationsCatalogGraphDefaults(props); + return ; +}; diff --git a/plugins/relations/src/components/EntityRelationsCatalogGraphCard/index.ts b/plugins/relations/src/components/EntityRelationsCatalogGraphCard/index.ts new file mode 100644 index 0000000..c6f1899 --- /dev/null +++ b/plugins/relations/src/components/EntityRelationsCatalogGraphCard/index.ts @@ -0,0 +1 @@ +export { EntityRelationsCatalogGraphCard } from './EntityRelationsCatalogGraphCard'; diff --git a/plugins/relations/src/components/RelationsCatalogGraphPage/RelationsCatalogGraphPage.tsx b/plugins/relations/src/components/RelationsCatalogGraphPage/RelationsCatalogGraphPage.tsx new file mode 100644 index 0000000..365866d --- /dev/null +++ b/plugins/relations/src/components/RelationsCatalogGraphPage/RelationsCatalogGraphPage.tsx @@ -0,0 +1,10 @@ +import React from 'react'; +import { CatalogGraphPage } from '@backstage/plugin-catalog-graph'; +import { useRelationsCatalogGraphDefaults } from '../../hooks'; + +export const RelationsCatalogGraphPage = ( + props: Parameters[0], +) => { + const relationsProps = useRelationsCatalogGraphDefaults(props); + return ; +}; diff --git a/plugins/relations/src/components/RelationsCatalogGraphPage/index.ts b/plugins/relations/src/components/RelationsCatalogGraphPage/index.ts new file mode 100644 index 0000000..3ea3c22 --- /dev/null +++ b/plugins/relations/src/components/RelationsCatalogGraphPage/index.ts @@ -0,0 +1 @@ +export { RelationsCatalogGraphPage } from './RelationsCatalogGraphPage'; diff --git a/plugins/relations/src/hooks/__snapshots__/useRelations.test.tsx.snap b/plugins/relations/src/hooks/__snapshots__/useRelations.test.tsx.snap new file mode 100644 index 0000000..30496a2 --- /dev/null +++ b/plugins/relations/src/hooks/__snapshots__/useRelations.test.tsx.snap @@ -0,0 +1,40 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`useRelationsCatalogGraphDefaults should return relations whitelisted 1`] = ` +[ + { + "entityRefs": [ + "other:default/other-1", + ], + "label": "otherOf", + }, +] +`; + +exports[`useRelationsCatalogGraphDefaults should return relations with custom label 1`] = ` +[ + { + "entityRefs": [ + "test:default/test-1", + ], + "label": "Custom label", + }, +] +`; + +exports[`useRelationsCatalogGraphDefaults should return relations with relation name as label 1`] = ` +[ + { + "entityRefs": [ + "test:default/test-1", + ], + "label": "testOf", + }, + { + "entityRefs": [ + "other:default/other-1", + ], + "label": "otherOf", + }, +] +`; diff --git a/plugins/relations/src/hooks/__snapshots__/useRelationsCatalogGraphDefaults.test.tsx.snap b/plugins/relations/src/hooks/__snapshots__/useRelationsCatalogGraphDefaults.test.tsx.snap new file mode 100644 index 0000000..24f35f6 --- /dev/null +++ b/plugins/relations/src/hooks/__snapshots__/useRelationsCatalogGraphDefaults.test.tsx.snap @@ -0,0 +1,47 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`useRelationsCatalogGraphDefaults should return relationPairs defaults 1`] = ` +[ + [ + "ownerOf", + "ownedBy", + ], + [ + "consumesApi", + "apiConsumedBy", + ], + [ + "apiProvidedBy", + "providesApi", + ], + [ + "hasPart", + "partOf", + ], + [ + "parentOf", + "childOf", + ], + [ + "hasMember", + "memberOf", + ], + [ + "dependsOn", + "dependencyOf", + ], + [ + "testOf", + "testBy", + ], +] +`; + +exports[`useRelationsCatalogGraphDefaults should return relationPairs overwrite 1`] = ` +[ + [ + "overwriteOf", + "overwriteBy", + ], +] +`; diff --git a/plugins/relations/src/hooks/index.ts b/plugins/relations/src/hooks/index.ts new file mode 100644 index 0000000..6db1d2e --- /dev/null +++ b/plugins/relations/src/hooks/index.ts @@ -0,0 +1,3 @@ +export { useRelationsCatalogGraphDefaults } from './useRelationsCatalogGraphDefaults'; +export { useRelations } from './useRelations'; +export type { RelationsWithLabel } from './useRelations'; diff --git a/plugins/relations/src/hooks/useRelations.test.tsx b/plugins/relations/src/hooks/useRelations.test.tsx new file mode 100644 index 0000000..6bb931a --- /dev/null +++ b/plugins/relations/src/hooks/useRelations.test.tsx @@ -0,0 +1,111 @@ +import { configApiRef } from '@backstage/core-plugin-api'; +import { renderHook } from '@testing-library/react'; +import { ConfigReader } from '@backstage/config'; +import { useRelations } from './useRelations'; +import { TestApiProvider } from '@backstage/test-utils'; +import React from 'react'; +import { Entity } from '@backstage/catalog-model'; +import { EntityProvider } from '@backstage/plugin-catalog-react'; + +describe('useRelationsCatalogGraphDefaults', () => { + const config = new ConfigReader({ + relationsProcessor: { + relations: [ + { + sourceKind: 'Component', + attribute: 'test', + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + { + sourceKind: 'Component', + attribute: 'other', + pairs: [ + { + incoming: 'otherOf', + outgoing: 'otherBy', + }, + ], + }, + { + sourceKind: 'Component', + attribute: 'owner', + pairs: [ + { + incoming: 'ownerOf', + outgoing: 'ownedBy', + }, + ], + }, + ], + }, + }); + const entity = { + kind: 'Component', + metadata: { + name: 'component-1', + namespace: 'default', + }, + relations: [ + { + type: 'testOf', + targetRef: 'test:default/test-1', + }, + { + type: 'otherOf', + targetRef: 'other:default/other-1', + }, + { + type: 'ownerOf', + targetRef: 'user:default/user-1', + }, + ], + } as unknown as Entity; + + const AllTheProviders = ({ children }: any) => { + return ( + + {children} + + ); + }; + + test('should return relations with relation name as label', () => { + const { result } = renderHook(() => useRelations(), { + wrapper: AllTheProviders, + }); + + expect(result.current).toMatchSnapshot(); + }); + + test('should return relations with custom label', () => { + const relationLabels = [ + { + name: 'testOf', + label: 'Custom label', + }, + ]; + const { result } = renderHook(() => useRelations(relationLabels), { + wrapper: AllTheProviders, + }); + + expect(result.current).toMatchSnapshot(); + }); + + test('should return relations whitelisted', () => { + const relationWhitelist = [ + { + name: 'otherOf', + }, + ]; + const { result } = renderHook(() => useRelations(relationWhitelist), { + wrapper: AllTheProviders, + }); + + expect(result.current).toMatchSnapshot(); + }); +}); diff --git a/plugins/relations/src/hooks/useRelations.tsx b/plugins/relations/src/hooks/useRelations.tsx new file mode 100644 index 0000000..77a86d6 --- /dev/null +++ b/plugins/relations/src/hooks/useRelations.tsx @@ -0,0 +1,69 @@ +import { configApiRef, useApi } from '@backstage/core-plugin-api'; +import { ALL_RELATION_PAIRS } from '@backstage/plugin-catalog-graph'; +import { useEntity } from '@backstage/plugin-catalog-react'; +import { Entity } from '@backstage/catalog-model'; + +export interface RelationsWithLabel { + name: string; + label?: string; +} + +export function useRelations(relations?: RelationsWithLabel[]) { + const configApi = useApi(configApiRef); + const { entity } = useEntity(); + + const relationsConfig = configApi.getConfigArray( + 'relationsProcessor.relations', + ); + const relationsWithoutDefaults = relationsConfig + .map(relationConfig => + relationConfig + .getConfigArray('pairs') + .map( + pair => + [pair.getString('incoming'), pair.getString('outgoing')] as [ + string, + string, + ], + ) + .filter( + pair => + !ALL_RELATION_PAIRS.some( + standardPair => + (standardPair[0] === pair[0] && standardPair[1] === pair[1]) || + (standardPair[0] === pair[1] && standardPair[1] === pair[0]), + ), + ) + .flat(), + ) + .flat(); + + const map = new Map(); + entity.relations + ?.filter(relation => { + if (relations) { + return relations.some(s => s.name === relation.type); + } + return relationsWithoutDefaults.includes(relation.type); + }) + .forEach(relation => { + if (map.has(relation.type)) { + map.set(relation.type, [ + ...map.get(relation.type)!, + relation.targetRef, + ]); + } else { + map.set(relation.type, [relation.targetRef]); + } + }); + + return Array.from(map.keys()).map(relationName => { + const relationWithLabel = relations?.find( + relation => relation.name === relationName, + ); + return { + label: (relationWithLabel && relationWithLabel.label) || relationName, + entityRefs: map.get(relationName) || [], + }; + }); +} diff --git a/plugins/relations/src/hooks/useRelationsCatalogGraphDefaults.test.tsx b/plugins/relations/src/hooks/useRelationsCatalogGraphDefaults.test.tsx new file mode 100644 index 0000000..fe961f2 --- /dev/null +++ b/plugins/relations/src/hooks/useRelationsCatalogGraphDefaults.test.tsx @@ -0,0 +1,97 @@ +import { configApiRef } from '@backstage/core-plugin-api'; +import { renderHook } from '@testing-library/react'; +import { ConfigReader } from '@backstage/config'; +import { useRelationsCatalogGraphDefaults } from './useRelationsCatalogGraphDefaults'; +import { TestApiProvider } from '@backstage/test-utils'; +import React from 'react'; + +describe('useRelationsCatalogGraphDefaults', () => { + const config = new ConfigReader({ + relationsProcessor: { + relations: [ + { + sourceKind: 'Component', + attribute: 'test', + pairs: [ + { + incoming: 'testOf', + outgoing: 'testBy', + }, + ], + }, + { + sourceKind: 'Component', + attribute: 'owner', + pairs: [ + { + incoming: 'ownerOf', + outgoing: 'ownedBy', + }, + ], + }, + ], + }, + }); + + const AllTheProviders = ({ children }: any) => { + return ( + + {children} + + ); + }; + + test('should return arrow=true as default', () => { + const { result } = renderHook(() => useRelationsCatalogGraphDefaults({}), { + wrapper: AllTheProviders, + }); + + expect(result.current.showArrowHeads).toBeTruthy(); + }); + + test('should return arrow overwrite', () => { + const { result } = renderHook( + () => useRelationsCatalogGraphDefaults({ showArrowHeads: false }), + { wrapper: AllTheProviders }, + ); + + expect(result.current.showArrowHeads).toBeFalsy(); + }); + + test('should return unidirectional=false as default', () => { + const { result } = renderHook(() => useRelationsCatalogGraphDefaults({}), { + wrapper: AllTheProviders, + }); + + expect(result.current.unidirectional).toBeFalsy(); + }); + + test('should return unidirectional overwrite', () => { + const { result } = renderHook( + () => useRelationsCatalogGraphDefaults({ unidirectional: true }), + { wrapper: AllTheProviders }, + ); + + expect(result.current.unidirectional).toBeTruthy(); + }); + + test('should return relationPairs defaults', () => { + const { result } = renderHook(() => useRelationsCatalogGraphDefaults({}), { + wrapper: AllTheProviders, + }); + + expect(result.current.relationPairs).toMatchSnapshot(); + }); + + test('should return relationPairs overwrite', () => { + const { result } = renderHook( + () => + useRelationsCatalogGraphDefaults({ + relationPairs: [['overwriteOf', 'overwriteBy']], + }), + { wrapper: AllTheProviders }, + ); + + expect(result.current.relationPairs).toMatchSnapshot(); + }); +}); diff --git a/plugins/relations/src/hooks/useRelationsCatalogGraphDefaults.tsx b/plugins/relations/src/hooks/useRelationsCatalogGraphDefaults.tsx new file mode 100644 index 0000000..bbdab0a --- /dev/null +++ b/plugins/relations/src/hooks/useRelationsCatalogGraphDefaults.tsx @@ -0,0 +1,56 @@ +import { configApiRef, useApi } from '@backstage/core-plugin-api'; +import { + ALL_RELATION_PAIRS, + EntityRelationsGraphProps, +} from '@backstage/plugin-catalog-graph'; + +export function useRelationsCatalogGraphDefaults( + props: Partial, +) { + const configApi = useApi(configApiRef); + + let modifiedProps = props; + if (modifiedProps.unidirectional === undefined) { + modifiedProps = { ...modifiedProps, unidirectional: false }; + } + + if (modifiedProps.relationPairs === undefined) { + const relations = configApi.getConfigArray('relationsProcessor.relations'); + let finalRelationPairs = ALL_RELATION_PAIRS; + if (Array.isArray(relations)) { + finalRelationPairs = [ + ...ALL_RELATION_PAIRS, + ...relations + .map(relationConfig => + relationConfig + .getConfigArray('pairs') + .map( + pair => + [pair.getString('incoming'), pair.getString('outgoing')] as [ + string, + string, + ], + ) + .filter( + pair => + !ALL_RELATION_PAIRS.some( + standardPair => + (standardPair[0] === pair[0] && + standardPair[1] === pair[1]) || + (standardPair[0] === pair[1] && + standardPair[1] === pair[0]), + ), + ), + ) + .flat(), + ]; + } + modifiedProps = { ...modifiedProps, relationPairs: finalRelationPairs }; + } + + if (modifiedProps.showArrowHeads === undefined) { + modifiedProps = { ...modifiedProps, showArrowHeads: true }; + } + + return modifiedProps; +} diff --git a/plugins/relations/src/index.ts b/plugins/relations/src/index.ts new file mode 100644 index 0000000..374ab80 --- /dev/null +++ b/plugins/relations/src/index.ts @@ -0,0 +1,10 @@ +/** @packageDocumentation */ + +export { + relationsPlugin, + EntityRelationsCard, + EntityRelationsCatalogGraphCard, + RelationsCatalogGraphPage, +} from './plugin'; +export { useRelationsCatalogGraphDefaults, useRelations } from './hooks'; +export type { RelationsWithLabel } from './hooks'; diff --git a/plugins/relations/src/plugin.test.ts b/plugins/relations/src/plugin.test.ts new file mode 100644 index 0000000..db1656e --- /dev/null +++ b/plugins/relations/src/plugin.test.ts @@ -0,0 +1,7 @@ +import { relationsPlugin } from './plugin'; + +describe('Relations', () => { + it('should export plugin', () => { + expect(relationsPlugin).toBeDefined(); + }); +}); diff --git a/plugins/relations/src/plugin.ts b/plugins/relations/src/plugin.ts new file mode 100644 index 0000000..5fcf16d --- /dev/null +++ b/plugins/relations/src/plugin.ts @@ -0,0 +1,56 @@ +import { + createComponentExtension, + createPlugin, + createRoutableExtension, +} from '@backstage/core-plugin-api'; +import { catalogGraphRouteRef } from '@backstage/plugin-catalog-graph'; + +/** @public */ +export const relationsPlugin = createPlugin({ + id: 'relations', + apis: [], +}); + +/** + * @public + */ +export const EntityRelationsCard = relationsPlugin.provide( + createComponentExtension({ + name: 'EntityRelationsCard', + component: { + lazy: () => + import('./components/EntityRelationsCard').then( + m => m.EntityRelationsCard, + ), + }, + }), +); + +/** + * @public + */ +export const EntityRelationsCatalogGraphCard = relationsPlugin.provide( + createComponentExtension({ + name: 'EntityRelationsCatalogGraphCard', + component: { + lazy: () => + import('./components/EntityRelationsCatalogGraphCard').then( + m => m.EntityRelationsCatalogGraphCard, + ), + }, + }), +); + +/** + * @public + */ +export const RelationsCatalogGraphPage = relationsPlugin.provide( + createRoutableExtension({ + name: 'RelationsCatalogGraphPage', + component: () => + import('./components/RelationsCatalogGraphPage').then( + m => m.RelationsCatalogGraphPage, + ), + mountPoint: catalogGraphRouteRef, + }), +); diff --git a/plugins/relations/src/setupTests.ts b/plugins/relations/src/setupTests.ts new file mode 100644 index 0000000..48c09b5 --- /dev/null +++ b/plugins/relations/src/setupTests.ts @@ -0,0 +1,2 @@ +import '@testing-library/jest-dom'; +import 'cross-fetch/polyfill'; diff --git a/plugins/tips/package.json b/plugins/tips/package.json index f46225f..fb61cd0 100644 --- a/plugins/tips/package.json +++ b/plugins/tips/package.json @@ -44,8 +44,8 @@ "@backstage/cli": "^0.26.1", "@backstage/dev-utils": "^1.0.29", "@backstage/test-utils": "^1.5.2", - "@testing-library/jest-dom": "^5.10.1", - "@testing-library/react": "^12.1.3", + "@testing-library/jest-dom": "^6.0.0", + "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/node": "*", "cross-fetch": "^3.1.5", diff --git a/yarn.lock b/yarn.lock index 749d7cd..201930f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,7 +12,7 @@ __metadata: languageName: node linkType: hard -"@adobe/css-tools@npm:^4.0.1, @adobe/css-tools@npm:^4.3.2": +"@adobe/css-tools@npm:^4.3.2": version: 4.3.3 resolution: "@adobe/css-tools@npm:4.3.3" checksum: d21f3786b84911fee59c995a146644a85c98692979097b26484ffa9e442fb1a92ccd68ce984e3e7cf8d5933c3560fbc0ad3e3cd1de50b9a723d1c012e793bbcb @@ -5175,8 +5175,8 @@ __metadata: "@rjsf/material-ui": ^5.18.1 "@rjsf/utils": ^5.18.1 "@rjsf/validator-ajv8": ^5.18.1 - "@testing-library/jest-dom": ^5.10.1 - "@testing-library/react": ^12.1.3 + "@testing-library/jest-dom": ^6.0.0 + "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/lodash": ^4.17.0 "@types/node": "*" @@ -5228,8 +5228,9 @@ __metadata: "@backstage/plugin-catalog-react": ^1.11.1 "@backstage/test-utils": ^1.5.2 "@material-ui/lab": 4.0.0-alpha.57 - "@testing-library/jest-dom": ^5.16.4 - "@types/react": ^16.13.1 || ^17.0.0 + "@testing-library/jest-dom": ^6.0.0 + "@testing-library/react": ^14.0.0 + "@testing-library/user-event": ^14.0.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -5255,8 +5256,8 @@ __metadata: "@stoplight/spectral-core": ^1.18.3 "@stoplight/spectral-ruleset-bundler": ^1.5.2 "@stoplight/spectral-runtime": ^1.1.2 - "@testing-library/jest-dom": ^5.10.1 - "@testing-library/react": ^12.1.3 + "@testing-library/jest-dom": ^6.0.0 + "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/node": "*" cross-fetch: ^3.1.5 @@ -5311,8 +5312,8 @@ __metadata: "@backstage/test-utils": ^1.5.2 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@testing-library/jest-dom": ^5.10.1 - "@testing-library/react": ^12.1.3 + "@testing-library/jest-dom": ^6.0.0 + "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/luxon": ^3.4.0 "@types/node": "*" @@ -5328,6 +5329,56 @@ __metadata: languageName: unknown linkType: soft +"@dweber019/backstage-plugin-relations-backend@0.0.0, @dweber019/backstage-plugin-relations-backend@workspace:plugins/relations-backend": + version: 0.0.0-use.local + resolution: "@dweber019/backstage-plugin-relations-backend@workspace:plugins/relations-backend" + dependencies: + "@backstage/backend-common": ^0.21.5 + "@backstage/backend-plugin-api": ^0.6.15 + "@backstage/catalog-model": ^1.4.5 + "@backstage/cli": ^0.26.1 + "@backstage/config": ^1.2.0 + "@backstage/plugin-catalog-common": ^1.0.22 + "@backstage/plugin-catalog-node": ^1.10.0 + "@types/express": ^4.17.6 + "@types/supertest": ^2.0.8 + express: ^4.17.1 + express-promise-router: ^4.1.0 + node-fetch: ^2.6.5 + supertest: ^6.1.3 + winston: ^3.2.1 + yn: ^4.0.0 + languageName: unknown + linkType: soft + +"@dweber019/backstage-plugin-relations@0.0.0, @dweber019/backstage-plugin-relations@workspace:plugins/relations": + version: 0.0.0-use.local + resolution: "@dweber019/backstage-plugin-relations@workspace:plugins/relations" + dependencies: + "@backstage/catalog-model": ^1.4.5 + "@backstage/cli": ^0.26.1 + "@backstage/config": ^1.2.0 + "@backstage/core-components": ^0.14.2 + "@backstage/core-plugin-api": ^1.9.1 + "@backstage/dev-utils": ^1.0.29 + "@backstage/plugin-catalog-graph": ^0.4.2 + "@backstage/plugin-catalog-react": ^1.11.1 + "@backstage/test-utils": ^1.5.2 + "@material-ui/core": ^4.12.2 + "@testing-library/jest-dom": ^6.0.0 + "@testing-library/react": ^14.0.0 + "@testing-library/user-event": ^14.0.0 + "@types/node": "*" + cross-fetch: ^3.1.5 + msw: ^1.0.0 + react-use: ^17.2.4 + peerDependencies: + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + languageName: unknown + linkType: soft + "@dweber019/backstage-plugin-tips@^0.0.8, @dweber019/backstage-plugin-tips@workspace:plugins/tips": version: 0.0.0-use.local resolution: "@dweber019/backstage-plugin-tips@workspace:plugins/tips" @@ -5341,8 +5392,8 @@ __metadata: "@backstage/test-utils": ^1.5.2 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@testing-library/jest-dom": ^5.10.1 - "@testing-library/react": ^12.1.3 + "@testing-library/jest-dom": ^6.0.0 + "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/node": "*" cross-fetch: ^3.1.5 @@ -11116,22 +11167,6 @@ __metadata: languageName: node linkType: hard -"@testing-library/dom@npm:^8.0.0": - version: 8.20.1 - resolution: "@testing-library/dom@npm:8.20.1" - dependencies: - "@babel/code-frame": ^7.10.4 - "@babel/runtime": ^7.12.5 - "@types/aria-query": ^5.0.1 - aria-query: 5.1.3 - chalk: ^4.1.0 - dom-accessibility-api: ^0.5.9 - lz-string: ^1.5.0 - pretty-format: ^27.0.2 - checksum: 06fc8dc67849aadb726cbbad0e7546afdf8923bd39acb64c576d706249bd7d0d05f08e08a31913fb621162e3b9c2bd0dce15964437f030f9fa4476326fdd3007 - languageName: node - linkType: hard - "@testing-library/dom@npm:^9.0.0": version: 9.3.4 resolution: "@testing-library/dom@npm:9.3.4" @@ -11148,23 +11183,6 @@ __metadata: languageName: node linkType: hard -"@testing-library/jest-dom@npm:^5.10.1, @testing-library/jest-dom@npm:^5.16.4": - version: 5.17.0 - resolution: "@testing-library/jest-dom@npm:5.17.0" - dependencies: - "@adobe/css-tools": ^4.0.1 - "@babel/runtime": ^7.9.2 - "@types/testing-library__jest-dom": ^5.9.1 - aria-query: ^5.0.0 - chalk: ^3.0.0 - css.escape: ^1.5.1 - dom-accessibility-api: ^0.5.6 - lodash: ^4.17.15 - redent: ^3.0.0 - checksum: 9f28dbca8b50d7c306aae40c3aa8e06f0e115f740360004bd87d57f95acf7ab4b4f4122a7399a76dbf2bdaaafb15c99cc137fdcb0ae457a92e2de0f3fbf9b03b - languageName: node - linkType: hard - "@testing-library/jest-dom@npm:^6.0.0": version: 6.4.2 resolution: "@testing-library/jest-dom@npm:6.4.2" @@ -11198,20 +11216,6 @@ __metadata: languageName: node linkType: hard -"@testing-library/react@npm:^12.1.3": - version: 12.1.5 - resolution: "@testing-library/react@npm:12.1.5" - dependencies: - "@babel/runtime": ^7.12.5 - "@testing-library/dom": ^8.0.0 - "@types/react-dom": <18.0.0 - peerDependencies: - react: <18.0.0 - react-dom: <18.0.0 - checksum: 4abd0490405e709a7df584a0db604e508a4612398bb1326e8fa32dd9393b15badc826dcf6d2f7525437886d507871f719f127b9860ed69ddd204d1fa834f576a - languageName: node - linkType: hard - "@testing-library/react@npm:^14.0.0": version: 14.2.2 resolution: "@testing-library/react@npm:14.2.2" @@ -11668,7 +11672,7 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:*, @types/jest@npm:^29.5.11": +"@types/jest@npm:^29.5.11": version: 29.5.12 resolution: "@types/jest@npm:29.5.12" dependencies: @@ -12204,15 +12208,6 @@ __metadata: languageName: node linkType: hard -"@types/testing-library__jest-dom@npm:^5.9.1": - version: 5.14.9 - resolution: "@types/testing-library__jest-dom@npm:5.14.9" - dependencies: - "@types/jest": "*" - checksum: d364494fc2545316292e88861146146af1e3818792ca63b62a63758b2f737669b687f4aaddfcfbcb7d0e1ed7890a9bd05de23ff97f277d5e68de574497a9ee72 - languageName: node - linkType: hard - "@types/tough-cookie@npm:*": version: 4.0.5 resolution: "@types/tough-cookie@npm:4.0.5" @@ -13218,6 +13213,7 @@ __metadata: "@dweber019/backstage-plugin-api-docs-module-wsdl": ^0.0.5 "@dweber019/backstage-plugin-api-docs-spectral-linter": ^0.2.11 "@dweber019/backstage-plugin-endoflife": ^0.0.3 + "@dweber019/backstage-plugin-relations": 0.0.0 "@dweber019/backstage-plugin-tips": ^0.0.8 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 @@ -13903,6 +13899,7 @@ __metadata: "@dweber019/backstage-plugin-accentuate-backend": ^0.0.0 "@dweber019/backstage-plugin-api-docs-module-wsdl-backend": ^0.0.7 "@dweber019/backstage-plugin-endoflife-backend": ^0.0.2 + "@dweber019/backstage-plugin-relations-backend": 0.0.0 "@types/dockerode": ^3.3.0 "@types/express": ^4.17.6 "@types/express-serve-static-core": ^4.17.5 @@ -16869,7 +16866,7 @@ __metadata: languageName: node linkType: hard -"dom-accessibility-api@npm:^0.5.6, dom-accessibility-api@npm:^0.5.9": +"dom-accessibility-api@npm:^0.5.9": version: 0.5.16 resolution: "dom-accessibility-api@npm:0.5.16" checksum: 005eb283caef57fc1adec4d5df4dd49189b628f2f575af45decb210e04d634459e3f1ee64f18b41e2dcf200c844bc1d9279d80807e686a30d69a4756151ad248