feat(events)!: migrate HttpPostIngressEventPublisher and eventsPlugin to use EventsService

Signed-off-by: Patrick Jungermann <Patrick.Jungermann@gmail.com>
This commit is contained in:
Patrick Jungermann
2024-01-23 20:28:35 +01:00
parent eff3ca9ddd
commit c4bd79422a
9 changed files with 132 additions and 113 deletions
+7 -1
View File
@@ -70,6 +70,7 @@ import { PluginEnvironment } from './types';
import { ServerPermissionClient } from '@backstage/plugin-permission-node';
import { DefaultIdentityClient } from '@backstage/plugin-auth-node';
import { DefaultEventBroker } from '@backstage/plugin-events-backend';
import { DefaultEventsService } from '@backstage/plugin-events-node';
import { PrometheusExporter } from '@opentelemetry/exporter-prometheus';
import { MeterProvider } from '@opentelemetry/sdk-metrics';
import { metrics } from '@opentelemetry/api';
@@ -99,7 +100,11 @@ function makeCreateEnv(config: Config) {
discovery,
});
const eventBroker = new DefaultEventBroker(root.child({ type: 'plugin' }));
const eventsService = DefaultEventsService.create({ logger: root });
const eventBroker = new DefaultEventBroker(
root.child({ type: 'plugin' }),
eventsService,
);
const signalService = DefaultSignalService.create({
eventBroker,
});
@@ -119,6 +124,7 @@ function makeCreateEnv(config: Config) {
config,
reader,
eventBroker,
events: eventsService,
discovery,
tokenManager,
permissions,
+2 -9
View File
@@ -14,10 +14,7 @@
* limitations under the License.
*/
import {
EventsBackend,
HttpPostIngressEventPublisher,
} from '@backstage/plugin-events-backend';
import { HttpPostIngressEventPublisher } from '@backstage/plugin-events-backend';
import { Router } from 'express';
import { PluginEnvironment } from '../types';
@@ -28,14 +25,10 @@ export default async function createPlugin(
const http = HttpPostIngressEventPublisher.fromConfig({
config: env.config,
events: env.events,
logger: env.logger,
});
http.bind(eventsRouter);
await new EventsBackend(env.logger)
.setEventBroker(env.eventBroker)
.addPublishers(http)
.start();
return eventsRouter;
}
+5 -1
View File
@@ -26,7 +26,7 @@ import {
import { PluginTaskScheduler } from '@backstage/backend-tasks';
import { IdentityApi } from '@backstage/plugin-auth-node';
import { PermissionEvaluator } from '@backstage/plugin-permission-common';
import { EventBroker } from '@backstage/plugin-events-node';
import { EventBroker, EventsService } from '@backstage/plugin-events-node';
import { SignalService } from '@backstage/plugin-signals-node';
export type PluginEnvironment = {
@@ -40,6 +40,10 @@ export type PluginEnvironment = {
permissions: PermissionEvaluator;
scheduler: PluginTaskScheduler;
identity: IdentityApi;
/**
* @deprecated use `events` instead
*/
eventBroker: EventBroker;
events: EventsService;
signalService: SignalService;
};