LoginSignup
7
8

More than 5 years have passed since last update.

ansible-vaultで暗号化したファイルの差分をgit diffで確認する

Last updated at Posted at 2018-02-17

はじめに

ansible-vault で暗号化したファイルの差分を git diff で見れるようにする方法を説明します。

手順

パスワードなしで vault ファイルを閲覧できるようにする

 
プロジェクトのホームディレクトリに ./ansible.cfg を作成する

ansible.cfg
# ansible-vaultのパスワードを格納したファイルのパスを指定
[defaults]
vault_password_file = ./.vault_password

パスワードを格納するファイルを作成(ここでは .vault_password とする)

.vault_password
hogehoge123

パスワードファイルは誤ってリポジトリにコミットしないように、 .gitignore に追加しておく。

.gitignore
.vault_password

vaultファイルのテキストコンバータを ansible-vault に設定する

  • .git/config または ~/.gitconfig に以下の記述を追加。
.git/config
[diff "ansible-vault"]
  textconv = ansible-vault view
  cachetextconv = true
  • vaultファイルのパスを指定

.gitattributes または ~/.gitattributes にvaultファイルのパスを指定

.gitattributes
# *-vault.yml *.vault.yml などワイルドカードでも指定できる
sample.vault.yml diff=ansible-vault merge=binary

ファイルの差分を確認

これで、 git diff で vault ファイルの差分を確認できるようになります。

$ git diff
diff --git i/sample.vault.yml w/sample.vault.yml
index 0a181e0..658372b 100644
--- i/sample.vault.yml
+++ w/sample.vault.yml
@@ -1,2 +1,2 @@
 ---
-hoge = hoge
+hoge = hogehoge

終わりに

ansible-vaultで暗号化されたファイルの差分が可視化されるようになり、うっかりミスに気づきやすくなりました。

参考

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8