[Kubernetes] Skip start without config

Signed-off-by: Andre Wanlin <awanlin@spotify.com>
This commit is contained in:
Andre Wanlin
2024-08-26 12:19:00 -05:00
parent b27fbbe6f5
commit adc931eecc
+28 -20
View File
@@ -40,6 +40,8 @@ import {
type KubernetesServiceLocatorExtensionPoint,
} from '@backstage/plugin-kubernetes-node';
import Router from 'express-promise-router';
class ObjectsProvider implements KubernetesObjectsProviderExtensionPoint {
private objectsProvider: KubernetesObjectsProvider | undefined;
@@ -193,27 +195,33 @@ export const kubernetesPlugin = createBackendPlugin({
auth,
httpAuth,
}) {
// TODO: expose all of the customization & extension points of the builder here
const builder: KubernetesBuilder = KubernetesBuilder.createBuilder({
logger,
config,
catalogApi,
permissions,
discovery,
auth,
httpAuth,
})
.setObjectsProvider(extPointObjectsProvider.getObjectsProvider())
.setClusterSupplier(extPointClusterSuplier.getClusterSupplier())
.setFetcher(extPointFetcher.getFetcher())
.setServiceLocator(extPointServiceLocator.getServiceLocator());
if (config.has('kubernetes')) {
// TODO: expose all of the customization & extension points of the builder here
const builder: KubernetesBuilder = KubernetesBuilder.createBuilder({
logger,
config,
catalogApi,
permissions,
discovery,
auth,
httpAuth,
})
.setObjectsProvider(extPointObjectsProvider.getObjectsProvider())
.setClusterSupplier(extPointClusterSuplier.getClusterSupplier())
.setFetcher(extPointFetcher.getFetcher())
.setServiceLocator(extPointServiceLocator.getServiceLocator());
AuthStrategy.addAuthStrategiesFromArray(
extPointAuthStrategy.getAuthenticationStrategies(),
builder,
);
const { router } = await builder.build();
http.use(router);
AuthStrategy.addAuthStrategiesFromArray(
extPointAuthStrategy.getAuthenticationStrategies(),
builder,
);
const { router } = await builder.build();
http.use(router);
} else {
logger.warn(
'Failed to initialize kubernetes backend: valid kubernetes config is missing',
);
}
},
});
},