@backstageai/common
Version:
Common code for Backstage AI services
38 lines (30 loc) • 898 B
JavaScript
const {
SecretsManagerClient,
GetSecretValueCommand,
} = require("@aws-sdk/client-secrets-manager");
const returnSecret = async (key) => {
if (process.env[key]) return process.env[key];
const secret_name = "backstage-ai/" + process.env.APP_MODE;
const client = new SecretsManagerClient({
region: "us-east-1",
});
let response;
try {
response = await client.send(
new GetSecretValueCommand({
SecretId: secret_name,
VersionStage: "AWSCURRENT", // VersionStage defaults to AWSCURRENT if unspecified
})
);
} catch (error) {
throw error;
}
const secret = response.SecretString;
const secretsJson = JSON.parse(secret);
//set all secrets in env
Object.keys(secretsJson).forEach((key) => {
if (!process.env[key]) process.env[key] = secretsJson[key];
});
return process.env[key];
};
exports.returnSecret = returnSecret;