cockscomblog?

cockscomb on hatena blog

1Password CLIで.env.localを作る

1PasswordにはVS Code拡張があって、.env ファイルなどにハードコードされたシークレットを1Passwordに保存して、secret reference というURL形式に置き換えてくれる。

ちなみにコミュニティ製のJetBrains IDE用の拡張もある。

これを使って .env.local.template を作る。

TWITTER_CONSUMER_KEY='op://Private/Twitter/API Key/consumer_key'
TWITTER_CONSUMER_SECRET='op://Private/Twitter/API Key/consumer_secret'

op:// のところがsecret reference。

.gitignore ファイルでは .env.local は無視しているけど、.env.local.templateリポジトリに入れてしまう。

# .env
.env.local
.env.*.local

あとは、1PasswordのVS Code拡張で「Preview with secrets」すると、secret referenceが解決されたプレビューが得られるので、これを .env.local として保存したら良い。けどちょっと面倒なので、1Password CLIでやってしまう方が便利。

$ op inject --in-file .env.local.template --out-file .env.local

1Passwordをチームで使っていると便利ですね。