No description
Find a file
mg 18d9574489 Rolle: proxmox - Script. start_pools.sh (#28)
Rolle erstellt

Co-authored-by: Michael Grote <38253905+quotengrote@users.noreply.github.com>
Reviewed-on: mg/ansible#28
Co-Authored-By: mg <michael.grote@posteo.de>
Co-Committed-By: mg <michael.grote@posteo.de>
2021-01-07 10:47:48 +01:00
.github/workflows Bash-Linter hinzugefügt (#62) 2020-11-05 08:02:33 +01:00
Archiv Miniflux in Archiv (#58) 2020-10-26 12:12:01 +01:00
group_vars Rolle: restic (#23) 2021-01-05 17:41:18 +01:00
playbooks Rolle: proxmox - Script. start_pools.sh (#28) 2021-01-07 10:47:48 +01:00
plugins/lookup Jenkins Integration (#1) 2020-12-09 10:21:40 +01:00
roles Rolle: proxmox - Script. start_pools.sh (#28) 2021-01-07 10:47:48 +01:00
.ansible-lint External Roles as Submodules (#71) 2020-11-24 14:57:20 +01:00
.gitignore SSH aufgeräumt + neu deployed (#72) 2020-11-25 14:34:49 +01:00
.gitmodules Dataset: data verschlüsselt (#21) 2021-01-03 10:11:23 +01:00
.remote-sync.json first commit 2020-08-18 11:57:53 +02:00
ansible.cfg Pfad für Collections angepasst 2020-12-28 20:25:12 +01:00
inventory Gitea in LXC (#13) 2020-12-26 16:22:59 +01:00
keepass_db.kdbx Fileserver: Nutzer PVE hinzugefügt 2021-01-04 09:51:32 +01:00
README.md Doku aktualisiert (#27) 2021-01-06 18:09:09 +01:00

ansible_heimserver

example-cli

ansible-playbook playbooks/base/0_master.yml -i inventory --limit jenkins-test.grote.lan --key-file id_rsa_ansible_user --vault-pass-file vault-pass.yml

install necessary collections

ansible-galaxy collection install -r requirements.yml

list installed collections

ansible-galaxy collection list -vvv

fix ansible vault-permissions

sudo chmod 400 id_rsa_ansible_user
sudo chmod 400 vault-pass.yml

vault + KeePass LookUp-Plugin

Einrichtung

Das Plugin wird bei einer Installation mit dem Playbook "ansible" mit eingerichtet.

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. Diese Datei enthält das Passwort mit dem die KeePassDb verschlüsselt ist. Das vault-secret für die GroupVars wird mit ansible-vault encrypt_string <password> erstellt.

Erklärung

keepass_dbx: "./keepass_db.kdbx" keepass_psw: !vault | $ANSIBLE_VAULT;1.1;AES256 62383737XXXXXX531

  1. mit vault-pass.yml wird das Kennwort an ansible-vault übergeben
  2. ansible-vault entschlüsselt hiermit die variable "keepass_psw"
  3. der Inhalt der Variable wird dann an das KeePass-Lookup-Plugin übergeben was damit die KeePass-Datei öffnet

Abfrage der Secrets in tasks/playbooks

restic_repository_password: "{{ lookup('keepass', 'restic_repository_password', 'password') }}"

Erklärung

restic_repository_password:         <-- Ansible Variablen Name
lookup('keepass'                    <-- Aufruf Keepass-Lookup-Plugin
restic_repository_password          <-- Titel Eintrag mit Secret
password                            <-- Feldbzeichner in KeepassDB