@roadiehq/catalog-backend-module-okta
Version:
A set of Backstage catalog providers for Okta
75 lines (71 loc) • 2.75 kB
JavaScript
;
var backendPluginApi = require('@backstage/backend-plugin-api');
var extensions = require('./extensions.cjs.js');
var OktaGroupEntityProvider = require('./providers/OktaGroupEntityProvider.cjs.js');
var OktaUserEntityProvider = require('./providers/OktaUserEntityProvider.cjs.js');
var OktaOrgEntityProvider = require('./providers/OktaOrgEntityProvider.cjs.js');
require('lodash');
require('slugify');
const oktaOrgEntityProviderModule = backendPluginApi.createBackendModule({
pluginId: "catalog",
moduleId: "default-okta-org-entity-provider",
register(env) {
env.registerInit({
deps: {
provider: extensions.oktaCatalogBackendEntityProviderFactoryExtensionPoint,
logger: backendPluginApi.coreServices.logger
},
async init({ provider, logger }) {
const factory = (oktaConfig) => OktaOrgEntityProvider.OktaOrgEntityProvider.fromConfig(oktaConfig, {
logger,
userNamingStrategy: "strip-domain-email",
groupNamingStrategy: "kebab-case-name"
});
provider.setEntityProviderFactory(factory);
}
});
}
});
const oktaUserEntityProviderModule = backendPluginApi.createBackendModule({
pluginId: "catalog",
moduleId: "default-okta-user-entity-provider",
register(env) {
env.registerInit({
deps: {
provider: extensions.oktaCatalogBackendEntityProviderFactoryExtensionPoint,
logger: backendPluginApi.coreServices.logger
},
async init({ provider, logger }) {
const factory = (oktaConfig) => OktaUserEntityProvider.OktaUserEntityProvider.fromConfig(oktaConfig, {
logger,
namingStrategy: "strip-domain-email"
});
provider.setEntityProviderFactory(factory);
}
});
}
});
const oktaGroupEntityProviderModule = backendPluginApi.createBackendModule({
pluginId: "catalog",
moduleId: "default-okta-group-entity-provider",
register(env) {
env.registerInit({
deps: {
provider: extensions.oktaCatalogBackendEntityProviderFactoryExtensionPoint,
logger: backendPluginApi.coreServices.logger
},
async init({ provider, logger }) {
const factory = (oktaConfig) => OktaGroupEntityProvider.OktaGroupEntityProvider.fromConfig(oktaConfig, {
logger,
userNamingStrategy: "strip-domain-email",
namingStrategy: "kebab-case-name"
});
provider.setEntityProviderFactory(factory);
}
});
}
});
exports.oktaGroupEntityProviderModule = oktaGroupEntityProviderModule;
exports.oktaOrgEntityProviderModule = oktaOrgEntityProviderModule;
exports.oktaUserEntityProviderModule = oktaUserEntityProviderModule;
//# sourceMappingURL=entity-provider-modules.cjs.js.map