关系处理器
此关系处理器插件释放出额外的自定义关系,这些关系在 目录图 离开盒子.
此外,你可以安装 关系前端插件 以更好的前端体验 此处理器.

安装
设置插件
首先,我们需要添加 @dweber019/backstage-plugin-relations-backend 软件包 :
# From your Backstage root directory
yarn --cwd packages/backend add @dweber019/backstage-plugin-relations-backend
然后我们打开名为 packages/backend/src/plugins/catalog.ts,并扩展为:
import { RelationsEntitiesProcessor } from '@dweber019/backstage-plugin-relations-backend';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
const builder = await CatalogBuilder.create(env);
builder.addProcessor(RelationEntitiesProcessor.fromConfig(env));
const { processingEngine, router } = await builder.build();
// ..
}
配置
见 config.d.ts 用于配置文档的文件.
这里有一个简单的配置, 这将添加一个命名的属性 supporter,允许关系 User 财务报告和审定财务报表 Group 编号 Resource。 。 。 .
此外,我们可以使用属性 applicationOwner 打开 Component 允许关系 User。 。 。 .
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
使用量
上述定义将允许界定下列实体:
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
目录图
建议使用 关系前端插件 在过滤器中添加新关系,设置好的默认值.
利用众所周知的关系
你可以用这个 众所周知的目录实体之间的关系 与此插件的关系。 如果某一组件为集团所有并拥有应用程序所有者,而该应用程序所有者也应拥有所有权,则这样做是有用的.
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
要允许所有者关系使用以下配置.
relationsProcessor:
relations:
- sourceKind: component
targetKinds:
- user
attribute: applicationOwner
pairs:
- incoming: applicationOwnerOf
outgoing: applicationOwnerBy
- incoming: ownerOf
outgoing: ownerBy

新建后端系统
后端插件有支持 新的后端系统,这里你如何设置:
在你身边 packages/backend/src/index.ts 作如下修改:
const backend = createBackend();
backend.add(import('@dweber019/backstage-plugin-relations-backend'));
// ... other feature additions
backend.start();
这没有经过测试,这里供参考
图标
谢谢你的图标 Becris 创建的机器学习图标 - Flaticon