diff --git a/.changeset/itchy-elephants-trade.md b/.changeset/itchy-elephants-trade.md new file mode 100644 index 0000000000..8ac6aaeeb9 --- /dev/null +++ b/.changeset/itchy-elephants-trade.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-events-backend': patch +'@backstage/plugin-events-node': patch +--- + +Fix `events.useEventBus` by propagating config to `DefaultEventsService` diff --git a/packages/backend-legacy/src/index.ts b/packages/backend-legacy/src/index.ts index 9a581e7d26..23f71baba5 100644 --- a/packages/backend-legacy/src/index.ts +++ b/packages/backend-legacy/src/index.ts @@ -73,7 +73,7 @@ function makeCreateEnv(config: Config) { discovery, }); - const eventsService = DefaultEventsService.create({ logger: root }); + const eventsService = DefaultEventsService.create({ logger: root, config }); const eventBroker = new DefaultEventBroker( root.child({ type: 'plugin' }), eventsService, diff --git a/plugins/events-backend/src/service/DefaultEventBroker.ts b/plugins/events-backend/src/service/DefaultEventBroker.ts index 27523f3118..b8f6d43b0a 100644 --- a/plugins/events-backend/src/service/DefaultEventBroker.ts +++ b/plugins/events-backend/src/service/DefaultEventBroker.ts @@ -42,7 +42,8 @@ export class DefaultEventBroker implements EventBroker { * @deprecated use `DefaultEventsService` directly instead */ constructor(logger: LoggerService, events?: EventsService) { - this.events = events ?? DefaultEventsService.create({ logger }); + this.events = + events ?? DefaultEventsService.create({ logger, useEventBus: 'never' }); } async publish(params: EventParams): Promise { diff --git a/plugins/events-node/README.md b/plugins/events-node/README.md index b07303ff72..0811bde72c 100644 --- a/plugins/events-node/README.md +++ b/plugins/events-node/README.md @@ -27,7 +27,7 @@ import { DefaultEventsService } from '@backstage/plugin-events-node'; function makeCreateEnv(config: Config) { // ... - const eventsService = DefaultEventsService.create({ logger: root }); + const eventsService = DefaultEventsService.create({ logger: root, config }); // ... return (plugin: string): PluginEnvironment => { // ... diff --git a/plugins/events-node/src/service.ts b/plugins/events-node/src/service.ts index 4f758f44e6..a70eb38d97 100644 --- a/plugins/events-node/src/service.ts +++ b/plugins/events-node/src/service.ts @@ -42,9 +42,10 @@ export const eventsServiceFactory = createServiceFactory({ logger: coreServices.logger, lifecycle: coreServices.lifecycle, auth: coreServices.auth, + config: coreServices.rootConfig, }, - async createRootContext({ rootLogger }) { - return DefaultEventsService.create({ logger: rootLogger }); + async createRootContext({ rootLogger, config }) { + return DefaultEventsService.create({ logger: rootLogger, config }); }, async factory( { pluginMetadata, discovery, logger, lifecycle, auth },