Как развернуть веб-приложение, которому нужны секретные учетные данные для героку? Рельсы 5

Это может быть глупый вопрос. Я новичок в ROR.

У меня есть веб-приложение, которое подключается к AWS S3, и там можно загружать и загружать объекты. Это только работает на местном прямо сейчас.

Соединение устанавливается через документ JSON, размещенный вне папки рабочей области, чтобы сохранить мои учетные данные в секрете при нажатии на git. Когда я пытаюсь:

$ heroku run rails db:migrate

Я получаю следующую ошибку (я знаю.. дух!):

Errno::ENOENT: No such file or directory @ rb_sysopen - /Users/Jen/workspace/secrets.json

Что я могу сделать, чтобы это веб-приложение было доступно для всех, кто заходит на сайт, сохраняя в тайне свои учетные данные?

Спасибо!

1 ответ

Решение

Итак, гем 'Figaro' работает для этого. Он поставляется с командой для установки производственных переменных ENV в Heroku.

Gemfile> драгоценный камень 'Figaro'

$ bundle exec figaro install

Создаст файл config/application.yml, добавленный в.gitignore. (Этот файл не будет загружен на Github.) Этот файл должен содержать переменные, такие как:

development:
AWS_ACCESS_KEY_ID: BLABLABLA
AWS_SECRET_ACCESS_KEY: XYZXYZ

production:
AWS_ACCESS_KEY_ID: BLABLABLA
AWS_SECRET_ACCESS_KEY: XYZXYZ

Чтобы настроить Heroku с вашими переменными ENV:

$ figaro heroku:set -e production

и это все:)

Другие вопросы по тегам