Новичок в rails, с открытым исходным кодом и вскоре готовый к развертыванию в производственной среде, у меня есть некоторые соображения по поводу безопасности.
О том, как обращаться с файлом database.yml, довольно хорошо рассказывается в how-to-manage-rails. -база данных-yml
Но, с моей точки зрения, в обычном приложении rails есть больше параметров конфигурации, которые не следует размещать в общедоступном репозитории github и развертывать в рабочей среде, например.
- devise.rb -> config.pepper
- secret_token.rb -> Application.config.secret_token
- капистрано -> deploy.rb
- ...
Добавление config/****/* в .gitignore не только не позволит новым разработчикам установить пакет, db:create, db:migrate, rails server, но и будет поддерживать рабочую конфигурацию в актуальном состоянии, если установлен новый гем с инициализатором.
Другой возможностью было бы добавить environment.yml с конфиденциальной конфигурацией, такой как database.yml, где конфиденциальная конфигурация в инициализаторах будет переопределена?
Это облегчит запуск и работу после чистой проверки, а производственную среду будет легко поддерживать.
Любые идеи, как подойти к моим проблемам выше?