fix build

Signed-off-by: Ilya Savich <isavich@box.com>
This commit is contained in:
Ilya Savich
2025-10-07 19:12:46 +02:00
parent 7f9846fd55
commit 62355e177d
3 changed files with 53 additions and 24 deletions
+3 -6
View File
@@ -168,7 +168,7 @@ class CustomRouter implements KubernetesRouterExtensionPoint {
}
addRouter(router: KubernetesRouterFactory) {
if (this.router) {
if (this.router) {
throw new Error(
'Multiple Kubernetes routers is not supported at this time',
);
@@ -190,7 +190,7 @@ export const kubernetesPlugin = createBackendPlugin({
const extPointAuthStrategy = new AuthStrategy();
const extPointFetcher = new Fetcher();
const extPointServiceLocator = new ServiceLocator();
const extPointRouter = new CustomRouter()
const extPointRouter = new CustomRouter();
env.registerExtensionPoint(
kubernetesObjectsProviderExtensionPoint,
@@ -212,10 +212,7 @@ export const kubernetesPlugin = createBackendPlugin({
kubernetesServiceLocatorExtensionPoint,
extPointServiceLocator,
);
env.registerExtensionPoint(
kubernetesRouterExtensionPoint,
extPointRouter,
);
env.registerExtensionPoint(kubernetesRouterExtensionPoint, extPointRouter);
env.registerInit({
deps: {
@@ -40,7 +40,8 @@ import {
AuthMetadata,
KubernetesClustersSupplier,
KubernetesFetcher,
KubernetesObjectsProvider, KubernetesRouterFactory,
KubernetesObjectsProvider,
KubernetesRouterFactory,
KubernetesServiceLocator,
} from '@backstage/plugin-kubernetes-node';
import { addResourceRoutesToRouter } from '../routes/resourcesRoutes';
@@ -110,8 +111,26 @@ export class KubernetesRouter {
authStrategyMap,
);
return customRouter?.({
getDefault: () => this.buildDefaultRouter(
return (
customRouter?.({
getDefault: () =>
this.buildDefaultRouter(
objectsProvider,
clusterSupplier,
catalog,
proxy,
permissions,
httpAuth,
authStrategyMap,
),
objectsProvider,
clusterSupplier,
catalog,
permissions,
httpAuth,
authStrategyMap,
}) ??
this.buildDefaultRouter(
objectsProvider,
clusterSupplier,
catalog,
@@ -119,21 +138,7 @@ export class KubernetesRouter {
permissions,
httpAuth,
authStrategyMap,
),
objectsProvider,
clusterSupplier,
catalog,
permissions,
httpAuth,
authStrategyMap,
}) ?? this.buildDefaultRouter(
objectsProvider,
clusterSupplier,
catalog,
proxy,
permissions,
httpAuth,
authStrategyMap,
)
);
}
+27
View File
@@ -5,11 +5,14 @@
```ts
import { AuthenticationStrategy as AuthenticationStrategy_2 } from '@backstage/plugin-kubernetes-node';
import { BackstageCredentials } from '@backstage/backend-plugin-api';
import type { CatalogService } from '@backstage/plugin-catalog-node';
import { CustomResource as CustomResource_2 } from '@backstage/plugin-kubernetes-node';
import { CustomResourceMatcher } from '@backstage/plugin-kubernetes-common';
import { Entity } from '@backstage/catalog-model';
import type express from 'express';
import { ExtensionPoint } from '@backstage/backend-plugin-api';
import { FetchResponse } from '@backstage/plugin-kubernetes-common';
import { HttpAuthService } from '@backstage/backend-plugin-api';
import { JsonObject } from '@backstage/types';
import { KubernetesClustersSupplier as KubernetesClustersSupplier_2 } from '@backstage/plugin-kubernetes-node';
import { KubernetesFetcher as KubernetesFetcher_2 } from '@backstage/plugin-kubernetes-node';
@@ -20,6 +23,7 @@ import { KubernetesServiceLocator as KubernetesServiceLocator_2 } from '@backsta
import { LoggerService } from '@backstage/backend-plugin-api';
import { ObjectsByEntityResponse } from '@backstage/plugin-kubernetes-common';
import { ObjectToFetch as ObjectToFetch_2 } from '@backstage/plugin-kubernetes-node';
import type { PermissionEvaluator } from '@backstage/plugin-permission-common';
// @public (undocumented)
export interface AuthenticationStrategy {
@@ -198,6 +202,7 @@ export type KubernetesObjectsProviderFactory = (opts: {
getDefault: () => Promise<KubernetesObjectsProvider_2>;
clusterSupplier: KubernetesClustersSupplier_2;
serviceLocator: KubernetesServiceLocator_2;
fetcher: KubernetesFetcher_2;
customResources: CustomResource_2[];
objectTypesToFetch?: ObjectToFetch_2[];
authStrategy: AuthenticationStrategy_2;
@@ -221,6 +226,28 @@ export type KubernetesObjectTypes =
| 'daemonsets'
| 'secrets';
// @public
export interface KubernetesRouterExtensionPoint {
// (undocumented)
addRouter(router: KubernetesRouterFactory): void;
}
// @public
export const kubernetesRouterExtensionPoint: ExtensionPoint<KubernetesRouterExtensionPoint>;
// @public
export type KubernetesRouterFactory = (opts: {
getDefault: () => express.Router;
objectsProvider: KubernetesObjectsProvider_2;
clusterSupplier: KubernetesClustersSupplier_2;
catalog: CatalogService;
permissions: PermissionEvaluator;
httpAuth: HttpAuthService;
authStrategyMap: {
[key: string]: AuthenticationStrategy_2;
};
}) => express.Router;
// @public
export interface KubernetesServiceLocator {
// (undocumented)