inject
1Passwordマニュアル|シークレット参照を活用して、テンプレート化されたファイルに安全かつ効率的にシークレットを挿入する方法をご紹介します。
シークレット参照でテンプレート化されたファイルにシークレットを挿入します。
op inject [flags]
Flags
--file-mode filemode Set filemode for the output file. It is ignored without the --out-file flag. (default 0600)
-f, --force Do not prompt for confirmation.
-i, --in-file string The filename of a template file to inject.
-o, --out-file string Write the injected template to a file instead of stdout.
シークレット参照でテンプレート化された構成ファイルを渡し、実際のシークレットが置き換えられた構成ファイルを受け取ることができます。解決されたファイルは不要になったら必ず削除してください。
シークレットを構成ファイルに読み込む方法について詳しく紹介します。
echo "db_password: {{ op://app-prod/db/password }}" | op inject
db_password: fX6nWkhANeyGE27SQGhYQ
設定テンプレート ファイルにシークレットを挿入します。
cat config.yml.tpl
db_password: {{ op://app-prod/db/password }}
op inject -i config.yml.tpl -o config.yml && cat config.yml
db_password: fX6nWkhANeyGE27SQGhYQ
複数のシークレットを連結できます:
echo "db_url: postgres://{{ op://lcl/db/user }}:{{ op://lcl/db/pw }}@{{ op://lcl/db/host }}:{{ op://lcl/db/port }}/{{ op://my-app-prd/db/db }}" | op inject
db_url: postgres://admin:[email protected]:5432/my-app"
シークレット参照内の変数を使用して、さまざまな環境のさまざまなシークレット セットを切り替えます。
echo "db_password: op://$env/db/password" | env=prod op inject
db_password: fX6nWkhANeyGE27SQGhYQ
Last updated