Rails 5.1がリリースされました。
Ruby on Rails 5.1 Release Notes — Ruby on Rails Guides
待望のsecrets.ymlの暗号化が取り込まれているので早速使用してみました。
暗号化されたsecrets.yml生成
$ rails secrets:setup
生成されるファイル
- config/secrets.yml.key
- 複合する為の鍵ファイル
- config/secrets.yml.enc
- 暗号化されたsecrets.yml
追記されるファイル
- .gitignore
- config/secrets.yml.keyを除外する設定が追記
生成時に表示されるメッセージの中に下記表記があります。
You can edit encrypted secrets with `bin/rails secrets:edit`. Add this to your config/environments/production.rb: config.read_encrypted_secrets = true
編集方法と有効にする設定方法が記載されています。
prodiction.rbに記載するよう記述がありますが、development.rbに記載すればdevelopmentでも使用することが可能でした。
また、暗号化されていないconfig/secrets.ymlを併用することもできるようです。
暗号化されたsecrets.yml編集
上記に記載されたコマンドで編集が可能ですが、編集の際環境変数EDITORのエディタが使われます。
$ EDITOR=vim rails secrets:edit
暗号化されたsecrets.yml利用方法
config.read_encrypted_secrets = trueが設定されており、config/secrets.yml.keyが存在する。または、環境変数RAILS_MASTER_KEYにconfig/secrets.key.ymlの値を設定しておけば自動的に復号してくれます。
Rails.application.secretsで値を取得することが可能です。