[Kubernetes] Skip start without config
Signed-off-by: Andre Wanlin <awanlin@spotify.com>
This commit is contained in:
@@ -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',
|
||||
);
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user