DX Backstage plugin to automatically sync your Backstage data to DX Data Cloud.
v2 of this plugin supports the new backend system first, and deprecates support for the old backend system which will be removed in a future.
- Install this plugin in your backstage backend —
yarn add @get-dx/backstage-backend-plugin
- Configure a proxy endpoint with the DX host and token found at https://app.getdx.com/datacloud/api_keys —
# app-config.yaml
proxy:
endpoints:
"/dx":
target: ${DX_API_HOST_URL}
headers:
Authorization: Bearer ${DX_API_TOKEN}
- In your
packages/backend/src/index.ts
file, make the following changes:
import { createBackend } from '@backstage/backend-defaults';
const backend = createBackend();
// ... other feature additions
+ backend.add(import('@get-dx/backstage-backend-plugin'));
backend.start();
- Deploy your backend!
Optionally set catalogSyncAllowedKinds
to only send specific kinds of entities to DX.
# app-config.yaml
dx:
catalogSyncAllowedKinds: [API, Component, User, Group]
You may optionally configure a schedule for the task that matches a TaskScheduleDefinition
,
only each key is optional —
# app-config.yaml
dx:
schedule:
frequency:
minutes: 45
The default schedule in TaskScheduleDefinition
format is —
Property | Value |
---|---|
frequency |
{ hours: 1 } |
timeout |
{ minutes: 2 } |
initialDelay |
{ seconds: 3 } |
scope |
'global' |
Optionally set appId
to distinguish multiple instances of backstage within DX. Can be any string as long as it's unique within your DX account.
# app-config.yaml
dx:
appId: staging
Optionally set disableCatalogSync
to disable running the software catalog sync scheduled task.
This can be helpful for local development or when running multiple environments of backstage, such as dev, staging, prod.
# app-config.yaml
dx:
disableCatalogSync: true