Baby step - 思考と実験の足跡

日常のちょっとした、気になって試したこと集です。

Credentials.yml.encってなんなの?

Credentials.yml.encとは?

  • 外部サービスの認証情報をconfig/master.keyで暗号化した状態で直接リポジトリに保存するためのファイル

    • .gitignoreされたファイルに認証情報などを記載してサーバに置く、などをしなくて済む
  • Rails5.2より前はsecret.ymlというものだった

    • secrets.yml, secrets.yml.enc, SECRET_BASE_KEYの組み合わせが混乱を招いていた
    • Rails5.2からcredentials.yml.encとなった
    • Rails5.1以前では本番以外の環境でも使えたが、大抵の場合は本番環境のみ使用していた
  • 参考:Rails5.2のcredential管理を試してみた - production.log

.gitignoreしなくてよい?

  1. しなくてよい
  2. リポジトリに上げるための仕組みなので
  3. 対になるconfig/master.keyは初めから.gitignoreされている

Q. Rails5.1以前から使っていたんだけどcredentials.ymlに乗り換えないとだめ?

  1. 乗り換えなくてよい
  2. secret.ymlなどのままで動作する

参考リンク