UNPKG

@backstageai/common

Version:

Common code for Backstage AI services

38 lines (30 loc) 898 B
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;