Rails 8.1でCLI Credential Fetchが導入された
Rails 8.1でCLI Credential Fetchが導入されました。
https://guides.rubyonrails.org/8_1_release_notes.html#command-line-credentials-fetching
たとえば次のようなCredentialを定義していたとします。
kamal: registry_password: xxx
その場合、次のようにCredentialの値をCLIで取得することができます。
rails credentials:fetch kamal.registry_password
RAILS_MASTER_KEYでまとめて管理できるようになった
この機能の何が嬉しいのかというとKamalでデプロイする場合、Docker HubなどのコンテナレジストリのパスワードをRails Credentialsとは別に環境変数として定義する必要がありました。 CLI Credentials Fetchが導入されたので、上記についてCredentialにまとめることができるようになります。
.kamal/secretsでは次のようにKAMAL_REGISTRY_PASSWORDを定義することができます。
# .kamal/secrets KAMAL_REGISTRY_PASSWORD=$(rails credentials:fetch kamal.registry_password)
つまりRails Credentialsですべて管理できるようになるので、RAILS_MASTER_KEYだけ管理すればよくなりますね!