我目前正在为supervisord管理的我的gunicorn/django应用程序编写我的结构部署脚本。当gunicorn运行时,我需要在应用程序的环境中使用某些密码。保持密码的代码,但gunicorn可自动重新启动?
看起来,做事的标准方式是将环境变量添加到/etc/supervisord/app.conf的[program:app],但这意味着我的回购库中会有明文密码,除非我保留该应用程序。回购之外的.conf(这看起来并不干净)。
我不能散列密码,因为它们被应用程序用来访问第三方服务。即使我在app.conf之外保存了app.conf,我仍然在app.conf中有明文密码,这似乎并不理想。
有没有什么办法让supervisord做它的事情(重新启动gunicorn自己)没有存储明文密码?
编辑:我不可避免地需要密码或supervisord解锁密码的方式,这两种都可以被攻击者使用,所以我想我会使用类似AWS密钥管理服务的东西,所以至少还有一个额外的一步到达他们。