diff --git a/plugins/catalog-backend/src/service/CatalogPlugin.ts b/plugins/catalog-backend/src/service/CatalogPlugin.ts index a2fcfe3f4b..fd3397612f 100644 --- a/plugins/catalog-backend/src/service/CatalogPlugin.ts +++ b/plugins/catalog-backend/src/service/CatalogPlugin.ts @@ -28,18 +28,28 @@ import { CatalogProcessor, CatalogProcessingExtensionPoint, catalogProcessingExtentionPoint, + EntityProvider, } from '@backstage/plugin-catalog-node'; class CatalogExtensionPointImpl implements CatalogProcessingExtensionPoint { #processors = new Array(); + #entityProviders = new Array(); addProcessor(processor: CatalogProcessor): void { this.#processors.push(processor); } + addEntityProvider(provider: EntityProvider): void { + this.#entityProviders.push(provider); + } + get processors() { return this.#processors; } + + get entityProviders() { + return this.#entityProviders; + } } /** @@ -82,6 +92,7 @@ export const catalogPlugin = createBackendPlugin({ logger: winstonLogger, }); builder.addProcessor(...processingExtensions.processors); + builder.addEntityProvider(...processingExtensions.entityProviders); const { processingEngine, router } = await builder.build(); await processingEngine.start(); diff --git a/plugins/catalog-node/src/extensions.ts b/plugins/catalog-node/src/extensions.ts index 61605d3b26..560d9d4db1 100644 --- a/plugins/catalog-node/src/extensions.ts +++ b/plugins/catalog-node/src/extensions.ts @@ -14,6 +14,7 @@ * limitations under the License. */ import { createServiceRef } from '@backstage/backend-plugin-api'; +import { EntityProvider } from './api'; import { CatalogProcessor } from './api/processor'; /** @@ -21,6 +22,7 @@ import { CatalogProcessor } from './api/processor'; */ export interface CatalogProcessingExtensionPoint { addProcessor(processor: CatalogProcessor): void; + addEntityProvider(provider: EntityProvider): void; } /**