@spacelift-io/backstage-integration-backend
Version:
Backstage plugin for integrating Spacelift.io with Backstage
45 lines (41 loc) • 1.44 kB
JavaScript
;
var backendPluginApi = require('@backstage/backend-plugin-api');
var router = require('./router.cjs.js');
var Spacelift_service = require('./services/Spacelift/Spacelift.service.cjs.js');
const spaceliftIoPlugin = backendPluginApi.createBackendPlugin({
pluginId: "spacelift-io",
register(env) {
env.registerInit({
deps: {
logger: backendPluginApi.coreServices.logger,
httpAuth: backendPluginApi.coreServices.httpAuth,
httpRouter: backendPluginApi.coreServices.httpRouter,
config: backendPluginApi.coreServices.rootConfig
},
async init({ logger, httpAuth, httpRouter, config }) {
const spaceliftService = await Spacelift_service.createSpaceliftService({
logger,
api: {
hostUrl: config.getString("spacelift.hostUrl"),
apiKey: config.getString("spacelift.apiKey"),
apiSecret: config.getString("spacelift.apiSecret")
}
});
const readOnly = config.getOptionalBoolean("spacelift.readOnly") ?? false;
httpRouter.use(
await router.createRouter({
spaceliftService,
logger,
readOnly
})
);
httpRouter.addAuthPolicy({
path: "/health",
allow: "unauthenticated"
});
}
});
}
});
exports.spaceliftIoPlugin = spaceliftIoPlugin;
//# sourceMappingURL=plugin.cjs.js.map