如何通过API简单编辑本地配置文件

时间:2019-12-03 07:24:41

标签: node.js https server devops

在所有服务器中,我们都有一些.env文件,这些文件会在启动时设置服务器(Node.JS)的配置。

现在,我想从管理窗格(另一个Web服务,通​​过API与主服务器一起使用)中编辑此文件。 有什么最佳实践或好的主意,我该如何实现呢?

第一个想法-在实例上创建另一个Web服务器,该Web服务器将只有两个API端点(读,写),并且在编辑配置后将重新启动服务器。这个想法看起来太沉重了。

第二个想法是创建bash脚本,该脚本将向管理服务器发送请求以进行实际配置,并在发现一些更改的情况下重写本地.env文件,但是这里会出现很多不必要的请求。 (每分钟请求一次,但配置每月会更改1次)。

您怎么看?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您有两种选择,这主要取决于您的部署策略。

如果您具有分布式环境和/或您的配置经常更改(即:运行多个docker容器,旋转键等),我强烈建议您使用K / V存储并在应用程序期间动态读取配置开始。查看HashiCorp Vault,etcd甚至mongodb。

如果您的配置包含敏感数据,请绝对使用HashiCorp Vault之类的东西。如果您使用诸如ansible之类的配置工具,则该工具具有ansible-vault可以对您的秘密进行加密,并在部署期间对其进行解密。

我强烈建议不要在版本控制中存储(甚至可能是)敏感数据,例如api密钥,令牌等。这是一个相当大的攻击媒介,它将带领您走上黑暗之路。

最坏的情况是使用环境变量。几乎所有CI / CD工具都支持这些工具,您可以将关注点分离。