@backstage/backend-defaults
Version:
Backend defaults used by Backstage backend apps
34 lines (30 loc) • 1.08 kB
JavaScript
;
var configLoader = require('@backstage/config-loader');
var getPackages = require('@manypkg/get-packages');
async function createConfigSecretEnumerator(options) {
const { logger, dir = process.cwd() } = options;
const { packages } = await getPackages.getPackages(dir);
const schema = options.schema ?? await configLoader.loadConfigSchema({
dependencies: packages.map((p) => p.packageJson.name)
});
return (config) => {
const [secretsData] = schema.process(
[{ data: config.getOptional() ?? {}, context: "schema-enumerator" }],
{
visibility: ["secret"],
ignoreSchemaErrors: true
}
);
const secrets = /* @__PURE__ */ new Set();
JSON.parse(
JSON.stringify(secretsData.data),
(_, v) => typeof v === "string" && secrets.add(v)
);
logger.info(
`Found ${secrets.size} new secrets in config that will be redacted`
);
return secrets;
};
}
exports.createConfigSecretEnumerator = createConfigSecretEnumerator;
//# sourceMappingURL=createConfigSecretEnumerator.cjs.js.map