From 8200ecb630b56926ecd8c908ec5573635aca9daf Mon Sep 17 00:00:00 2001 From: Quotengrote <38253905+quotengrote@users.noreply.github.com> Date: Sat, 29 Aug 2020 14:22:50 +0200 Subject: [PATCH] Housekeeping (#19) * Vault-Password-File default location * absolute paths to relativ paths * keepass-pw.yml --> vault_pass.yml * vault-infos angepasst --- .gitignore | 2 +- ansible.cfg | 5 +++-- vault_infos.md | 32 +++++++++++++------------------- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index a850a4fe..ddac6539 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ .git/ -keepass-pw.yml +vault-pass.yml keepass_db.kdbx # https://www.atlassian.com/git/tutorials/saving-changes/gitignore diff --git a/ansible.cfg b/ansible.cfg index ce0315bb..ef3ce95f 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,8 +1,9 @@ [defaults] -inventory = /home/mg/ansible/inventories +inventory = ~/ansible/inventories nocows = 1 retry_files_enabled = False -roles_path = /home/mg/ansible/roles +roles_path = ~/ansible/roles +vault_password_file = ~/ansible/vault-pass.yml [inventory] [privilege_escalation] diff --git a/vault_infos.md b/vault_infos.md index f6dbab62..d58d43e3 100644 --- a/vault_infos.md +++ b/vault_infos.md @@ -1,25 +1,19 @@ -# Verschlüsseln -ansible-vault encrypt /home/mg/ansible/inventories/group_vars/* --vault-password-file /home/mg/ansible/ansible-vault-password.yml -# Entschlüsseln -ansible-vault decrypt /home/mg/ansible/inventories/group_vars/* --vault-password-file /home/mg/ansible/ansible-vault-password.yml -# Schlüssel liegt in Keepas + Datei -- Datei ist bei .gitignore ausgenommen +# Ansible Vault + KeePass LookUp-Plugin -Die Secrets sind in einer KeepassDB gespeichert und werden über ein Lookup-Plugin abgerufen. -In der DB keine Ebenen und title = Variablenname. +# Einrichtung +Das Plugin wird bei einer Installation mit dem Playbook "ansible" mit eingerichtet. -restic_repository_password: "{{ lookup('keepass', 'restic_repository_password', 'password') }}" +Die "Secrets" liegen in der KeepassDB die mit dem Kennwort aus "vault-pass.yml" verschlüsselt ist. +"vault-pass.yml" steht mit in der .gitignore +Die Variable "vault_password_file" ist mit " ~/ansible/vault-pass.yml" in der ansible.cfg gesetzt. +# Abfrage der Secrets in tasks/playbooks +`restic_repository_password: "{{ lookup('keepass', 'restic_repository_password', 'password') }}"` -Variabeln in Dictionarys vorher definieren +## Erklärung ``` -x = lookup - -dict: z: x -``` -``` - # Variable für Lookup - lookup_var_postgres_user_and_db: "{{ lookup('keepass', 'postgres_user_and_db', 'password') }}" - postgres_user_and_db: - - { name_db: 'miniflux_db', name_db_user: 'miniflux_db_user', password_db_user: "{{ lookup_var_postgres_user_and_db }}" } +restic_repository_password: <-- Ansible Variablen Name +lookup('keepass' <-- Aufruf Keepass-Lookup-Plugin +restic_repository_password <-- Titel Eintrag mit Secret +password <-- Feldbzeichner in KeepassDB ```