fix: code review findings

Signed-off-by: Heikki Hellgren <heikki.hellgren@op.fi>
This commit is contained in:
Heikki Hellgren
2024-02-05 10:37:50 +02:00
parent acbe630b9d
commit 819a7302a2
33 changed files with 608 additions and 296 deletions
+2
View File
@@ -45,6 +45,7 @@
"@backstage/plugin-lighthouse-backend": "workspace:^",
"@backstage/plugin-linguist-backend": "workspace:^",
"@backstage/plugin-nomad-backend": "workspace:^",
"@backstage/plugin-notifications-backend": "workspace:^",
"@backstage/plugin-permission-backend": "workspace:^",
"@backstage/plugin-permission-backend-module-allow-all-policy": "workspace:^",
"@backstage/plugin-permission-common": "workspace:^",
@@ -57,6 +58,7 @@
"@backstage/plugin-search-backend-module-explore": "workspace:^",
"@backstage/plugin-search-backend-module-techdocs": "workspace:^",
"@backstage/plugin-search-backend-node": "workspace:^",
"@backstage/plugin-signals-backend": "workspace:^",
"@backstage/plugin-sonarqube-backend": "workspace:^",
"@backstage/plugin-techdocs-backend": "workspace:^",
"@backstage/plugin-todo-backend": "workspace:^"
+2
View File
@@ -51,5 +51,7 @@ backend.add(import('@backstage/plugin-search-backend/alpha'));
backend.add(import('@backstage/plugin-techdocs-backend/alpha'));
backend.add(import('@backstage/plugin-todo-backend'));
backend.add(import('@backstage/plugin-sonarqube-backend'));
backend.add(import('@backstage/plugin-signals-backend'));
backend.add(import('@backstage/plugin-notifications-backend'));
backend.start();
-14
View File
@@ -66,7 +66,6 @@ import linguist from './plugins/linguist';
import devTools from './plugins/devtools';
import nomad from './plugins/nomad';
import signals from './plugins/signals';
import notifications from './plugins/notifications';
import { PluginEnvironment } from './types';
import { ServerPermissionClient } from '@backstage/plugin-permission-node';
import { DefaultIdentityClient } from '@backstage/plugin-auth-node';
@@ -75,7 +74,6 @@ import { PrometheusExporter } from '@opentelemetry/exporter-prometheus';
import { MeterProvider } from '@opentelemetry/sdk-metrics';
import { metrics } from '@opentelemetry/api';
import { DefaultSignalService } from '@backstage/plugin-signals-node';
import { DefaultNotificationService } from '@backstage/plugin-notifications-node';
// Expose opentelemetry metrics using a Prometheus exporter on
// http://localhost:9464/metrics . See prometheus.yml in packages/backend for
@@ -105,12 +103,6 @@ function makeCreateEnv(config: Config) {
const signalService = DefaultSignalService.create({
eventBroker,
});
const defaultNotificationService = DefaultNotificationService.create({
logger: root.child({ type: 'plugin' }),
discovery,
tokenManager,
signalService,
});
root.info(`Created UrlReader ${reader}`);
@@ -119,7 +111,6 @@ function makeCreateEnv(config: Config) {
const database = databaseManager.forPlugin(plugin);
const cache = cacheManager.forPlugin(plugin);
const scheduler = taskScheduler.forPlugin(plugin);
const notificationService = defaultNotificationService.forPlugin(plugin);
return {
logger,
@@ -134,7 +125,6 @@ function makeCreateEnv(config: Config) {
scheduler,
identity,
signalService,
notificationService,
};
};
}
@@ -189,9 +179,6 @@ async function main() {
const devToolsEnv = useHotMemoize(module, () => createEnv('devtools'));
const nomadEnv = useHotMemoize(module, () => createEnv('nomad'));
const signalsEnv = useHotMemoize(module, () => createEnv('signals'));
const notificationsEnv = useHotMemoize(module, () =>
createEnv('notifications'),
);
const apiRouter = Router();
apiRouter.use('/catalog', await catalog(catalogEnv));
@@ -219,7 +206,6 @@ async function main() {
apiRouter.use('/devtools', await devTools(devToolsEnv));
apiRouter.use('/nomad', await nomad(nomadEnv));
apiRouter.use('/signals', await signals(signalsEnv));
apiRouter.use('/notifications', await notifications(notificationsEnv));
apiRouter.use(notFoundHandler());
await lighthouse(lighthouseEnv);
@@ -1,32 +0,0 @@
/*
* Copyright 2022 The Backstage Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { createRouter } from '@backstage/plugin-notifications-backend';
import { Router } from 'express';
import { PluginEnvironment } from '../types';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
return await createRouter({
logger: env.logger,
identity: env.identity,
tokenManager: env.tokenManager,
database: env.database,
discovery: env.discovery,
signalService: env.signalService,
});
}
-2
View File
@@ -28,7 +28,6 @@ import { IdentityApi } from '@backstage/plugin-auth-node';
import { PermissionEvaluator } from '@backstage/plugin-permission-common';
import { EventBroker } from '@backstage/plugin-events-node';
import { SignalService } from '@backstage/plugin-signals-node';
import { NotificationService } from '@backstage/plugin-notifications-node';
export type PluginEnvironment = {
logger: Logger;
@@ -43,5 +42,4 @@ export type PluginEnvironment = {
identity: IdentityApi;
eventBroker: EventBroker;
signalService: SignalService;
notificationService: NotificationService;
};