【问题标题】:Can I import configuration files with supervisord?我可以使用 supervisord 导入配置文件吗?
【发布时间】:2015-01-01 20:32:05
【问题描述】:

我有一个源代码是公开的 Hubot 实例,但它需要一些我需要保密的 API 密钥。

我的服务器配置文件/etc/supervisor/conf.d我也想公开,让别人看到我的配置。结果写不下去了:

[program:hubot]
environment=API_KEY=12345
...

我尝试编写一个不公开的 bash 包装脚本,它包含我的秘密 API 密钥:

#!/bin/bash

export API_KEY=12345
~/src/handybot/bin/hubot -a xmpp

并从主管那里调用它:

[program:hubot]
command=/home/hubot/run_hubot.sh

这行得通,但hubot进程不受主管监控,只有bash进程。结果,如果我执行supervisorctl restart hubot,我最终会得到两个hubot 实例。

是否可以include主管配置文件中的其他文件?我也找到了dotenv,但我必须破解 Hubot 本身才能使用它。

【问题讨论】:

    标签: environment-variables supervisord


    【解决方案1】:

    我不明白想要保持 conf.d 公开的部分(为什么要这样做?),但除此之外,请尝试在 shell 脚本的最后一行使用 exec

    exec ~/src/handybot/bin/hubot -a xmpp
    

    或者,您通常可以传递环境变量,例如

    ABC=2 DEF=3 ~/src/handybot/bin/hubot -a xmpp
    

    我说“通常”只是因为我没有在主管中测试过。

    【讨论】:

      猜你喜欢
      • 2018-09-27
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多