我想用上帝监控一个 ruby 脚本并将 AWS 凭证作为环境变量传递,推荐的方法是什么?
我目前的做法:
我想将带有源代码的神配置文件提交到 github,因此我无法在神配置文件中将凭据设置为纯文本。我试图将它们设置为系统环境变量:
我在 God conf 文件中设置了用户和组,以便进程以该特定用户身份启动,我将 access_key 和 api_secret 设置为该用户的环境变量。
当我以该用户身份登录并回显环境变量时,它们设置正确。上帝是由暴发户开始的。
当上帝启动脚本时,它在环境变量中找不到凭据,我不明白为什么?
这是我的conf文件:
脚本神.rb
rails_env = ENV['RAILS_ENV'] || "production"
rails_root = ENV['RAILS_ROOT'] || "/srv/www/photo-api/current"
God.watch do |w|
w.name = "zipper-done"
w.group = 'zipper'
w.interval = 30.seconds
w.dir = rails_root
w.env = { 'RAILS_ENV' => rails_env }
w.start = "bundle exec rake zip:listen"
w.uid = 'deploy'
w.gid = 'deploy'
w.start_grace = 10.seconds
w.log = File.join(rails_root, 'log', 'zipper-done.log')
/home/deploy/.bashrc
export AWS_ACCESS_KEY_ID=AKI...KQ
export AWS_SECRET_ACCESS_KEY=Cg...pVb
/home/deploy/.bash_profile
source ~/.bashrc
当我放ENV['AWS_ACCESS_KEY_ID']
andENV['AWS_SECRET_ACCESS_KEY']
时,它们没有设置。我究竟做错了什么 ?