Добавить секреты к credentials.yml.enc программно - PullRequest
1 голос
/ 13 мая 2019

Есть ли способ программно добавить секреты в config / credentials.yml.enc в Rails 5.2?

Передача credentials.yml.enc в репозиторий для внутреннего использования может быть полезной, но как только приложение используется другими людьми, им требуются другие секреты в их среде. Как и учетные данные Oauth2 будут отличаться для каждой реализации.

Для запуска приложения в докере (например) потребуется больше ручного взаимодействия и ноу-хау Docker, чем обычно. В большинстве случаев более безопасный способ используется только в том случае, если он не требует больших усилий.

Сначала нужно будет запустить docker exec <app-name> -it /bin/bash, чтобы можно было запустить rails credentials:edit.

Было бы лучше иметь возможность заполнять файл учетных данных программно. Например, можно предоставить временный файл учетных данных, например:

production:
  postgresql:
    username: 'admin'
    password: 'very_insecure'

Тогда может быть скрипт, добавляющий содержимое файла в файл учетных данных и впоследствии удаляющий временный файл.

Конечно, переменная окружения RAILS_MASTER_KEY должна быть установлена ​​(это может быть снова сценарий, перемещающий содержимое файла master.key в переменную), чтобы получить какую-либо прибыль от этого.

...