Rails 8.1で導入されたCLI Credential FetchでKamal Registry PasswordをRails Credentialsにまとめられるようになった

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で取得することができます。

Terminal window
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だけ管理すればよくなりますね!

Kamal本

https://techbookfest.org/product/mrsMgZgK4tpWe379QdKCFt/