3

我有一个 Node JS 项目,它有处理程序、服务和模型。作为应用程序的一部分,我们曾经从配置 js 文件中读取环境变量,该文件因每个环境而异。最近我们尝试将这些配置 js 信息移动到 AWS Secret Manager。现在我们能够从公共模块中的 Secret Manager 中获取所有值。我们有近 15 个模块,每个模块都有自己的环境变量。(每个模块都是一个微服务)。我如何实现以获取每个环境的所有秘密值(从公共模块启动时的负载。现在我在我的处理程序中使用以下方法。

已使用以下方法将值从公共模块获取到工作模块。(处理程序)

const utils = require('common-module');
((err, response) => {
    utils.getAllEnvValues({ secretValue: 'SEARCH-SECRET' }, (err, result) => {
        if (err) {
            console.log(err)
        }
        console.log('Getting the value from AWS Secrets!!!!');
        console.log('Limit Size:', process.env.SEARCH_LIMIT);
    });
})();

但有时不需要加载所有模块。即使是那些模块也应该得到它们的环境值?如何获得这些?什么样的实施将在这里有所帮助?

4

1 回答 1

0

签出这个包:https ://github.com/jwerre/secrets

它将同步加载特定命名空间(或不)内的所有秘密,如下所示:

const config = require('@jwerre/secrets').configSync({
    region: 'us-east-1',
    env: 'production',
    namespace: 'SEARCH-SECRET',
});
于 2020-05-26T21:29:26.220 回答