diff --git a/packages/backend/src/plugins/catalogEventBasedProviders.ts b/packages/backend/src/plugins/DemoEventBasedEntityProvider.ts similarity index 91% rename from packages/backend/src/plugins/catalogEventBasedProviders.ts rename to packages/backend/src/plugins/DemoEventBasedEntityProvider.ts index 346ed40fa6..57f9f05570 100644 --- a/packages/backend/src/plugins/catalogEventBasedProviders.ts +++ b/packages/backend/src/plugins/DemoEventBasedEntityProvider.ts @@ -22,7 +22,9 @@ import { EventParams, EventSubscriber } from '@backstage/plugin-events-node'; import { Logger } from 'winston'; import { PluginEnvironment } from '../types'; -class DemoEventBasedEntityProvider implements EntityProvider, EventSubscriber { +export class DemoEventBasedEntityProvider + implements EntityProvider, EventSubscriber +{ constructor( private readonly logger: Logger, private readonly topics: string[], @@ -55,7 +57,7 @@ export default async function createCatalogEventBasedProviders( const providers: Array< (EntityProvider & EventSubscriber) | Array > = []; - providers.push(new DemoEventBasedEntityProvider(env.logger, ['example'])); + providers.push(); // add your event-based entity providers here return providers.flat(); } diff --git a/packages/backend/src/plugins/catalog.ts b/packages/backend/src/plugins/catalog.ts index cd1a92ad7b..d895b0e85a 100644 --- a/packages/backend/src/plugins/catalog.ts +++ b/packages/backend/src/plugins/catalog.ts @@ -18,16 +18,20 @@ import { CatalogBuilder } from '@backstage/plugin-catalog-backend'; import { ScaffolderEntitiesProcessor } from '@backstage/plugin-scaffolder-backend'; import { Router } from 'express'; import { PluginEnvironment } from '../types'; -import createCatalogEventBasedProviders from './catalogEventBasedProviders'; +import { DemoEventBasedEntityProvider } from './DemoEventBasedEntityProvider'; export default async function createPlugin( env: PluginEnvironment, ): Promise { - const providers = await createCatalogEventBasedProviders(env); + const { eventBroker, logger } = env; + const builder = await CatalogBuilder.create(env); builder.addProcessor(new ScaffolderEntitiesProcessor()); - env.eventBroker.subscribe(providers); - builder.addEntityProvider(providers); + + const demoProvider = new DemoEventBasedEntityProvider(logger, ['example']); + eventBroker.subscribe(demoProvider); + builder.addEntityProvider(demoProvider); + const { processingEngine, router } = await builder.build(); await processingEngine.start(); return router;