0

相对较新的 JS 和节点,

要求: 需要在加载配置模块之前从安全存储读取环境变量后设置环境变量。

详细信息: 我们有一个问题:在配置模块启动并使用 default.js 分配值之前,我们需要在哪里从秘密存储中读取秘密并使其可用于节点环境。

我尝试拆分快速应用程序设置和初始化,并尝试在这些步骤之间阅读秘密,但无济于事。

app.js -> Setup the app

index.js -> 
// Setup the environments with the secrets
import config from 'config'
import {app_init} from './app' // Setting up the express app

// Now setting up the env variables
process.env.DB_HOST = 'MyDbHost'
process.env.DB_PASS = 'DBPass' // This will be read from the secret store

log.info(`DB_HOST used in ENV: ${process.env.DB_HOST}`) // Prints the right value
log.info(`DB_HOST used in config: ${config.database.host}`) // Prints undefined

无论如何,有没有办法在配置模块读取它们之前在 env 中注入秘密?

如果您需要更多信息,请告诉我。

4

1 回答 1

0

查看配置文档,尤其是这里可以使用延迟配置和使用完整的 nodejs 功能来创建配置。


就我而言,我打算从商店中读取秘密并将它们作为环境变量发布。如果我看到这样做的挑战,我会发布。

于 2021-01-08T15:57:31.673 回答