AAP Backstage provider
The AAP Backstage provider plugin synchronizes the AAP job templates and workflow job templates into the Backstage catalog.
For administrators
Installation
Run the following command to install the AAP Backstage provider plugin:
yarn workspace backend add @janus-idp/backstage-plugin-aap-backend
Configuration
AAP Backstage provider allows configuration of one or multiple providers using the app-config.yaml
configuration file of Backstage.
Procedure
-
Use a aap
marker to start configuring the app-config.yaml
file of Backstage:
catalog:
providers:
aap:
dev:
baseUrl: <URL>
authorization: 'Bearer ${AAP_AUTH_TOKEN}'
owner: <owner>
system: <system>
schedule:
frequency: { minutes: 1 }
timeout: { minutes: 1 }
-
Add the following code to packages/backend/src/plugins/catalog.ts
file if has configured the scheduler inside the app-config.yaml
:
import { AapResourceEntityProvider } from '@janus-idp/backstage-plugin-aap-backend';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
const builder = await CatalogBuilder.create(env);
builder.addEntityProvider(
AapResourceEntityProvider.fromConfig(env.config, {
logger: env.logger,
scheduler: env.scheduler,
}),
);
const { processingEngine, router } = await builder.build();
await processingEngine.start();
return router;
}
if have not configured then add a schedule directly inside the packages/backend/src/plugins/catalog.ts
file:
import { AapResourceEntityProvider } from '@janus-idp/backstage-plugin-aap-backend';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
const builder = await CatalogBuilder.create(env);
builder.addEntityProvider(
AapResourceEntityProvider.fromConfig(env.config, {
logger: env.logger,
schedule: env.scheduler.createScheduledTaskRunner({
frequency: { minutes: 1 },
timeout: { minutes: 1 },
}),
}),
);
const { processingEngine, router } = await builder.build();
await processingEngine.start();
return router;
}
Troubleshooting
When you start your Backstage application, you can see some log lines as follows:
[1] 2023-02-13T15:26:09.356Z catalog info Discovered ResourceEntity API type=plugin target=AapResourceEntityProvider:dev
[1] 2023-02-13T15:26:09.423Z catalog info Discovered ResourceEntity Red Hat Event (DEV, v1.2.0) type=plugin target=AapResourceEntityProvider:dev
[1] 2023-02-13T15:26:09.620Z catalog info Discovered ResourceEntity Red Hat Event (TEST, v1.1.0) type=plugin target=AapResourceEntityProvider:dev
[1] 2023-02-13T15:26:09.819Z catalog info Discovered ResourceEntity Red Hat Event (PROD, v1.1.0) type=plugin target=AapResourceEntityProvider:dev
[1] 2023-02-13T15:26:09.819Z catalog info Applying the mutation with 3 entities type=plugin target=AapResourceEntityProvider:dev