brianshumate.vault
Vault
Diese Ansible-Rolle führt eine grundlegende Vault Installation durch, einschließlich der Dateisystemstruktur und einer Beispielkonfiguration.
Sie kann auch einen minimalen Entwicklungs- oder Evaluierungsserver oder ein HA Consul-Cluster in einer Vagrant- und VirtualBox-basierten Umgebung einrichten. Weitere Informationen zur Entwickler-Modus-Konfiguration finden Sie in README_VAGRANT.md und der zugehörigen Vagrantfile.
Installation
Brian Shumate hat diese Rolle an @ansible-community/hashicorp-tools übertragen. Diese Rolle befindet sich auf GitHub und wartet auf die Behebung der Integration mit Ansible Galaxy. Um diese Rolle zu installieren, erstellen Sie eine Datei roles/requirements.yml in Ihrem Ansible-Projektordner mit folgendem Inhalt:
- src: https://github.com/ansible-community/ansible-vault.git
name: ansible-community.ansible-vault
scm: git
version: master
Sie können ein git-Tag im Versionsattribut verwenden. Außerdem können Sie den veralteten Namen name: brianshumate.ansible-vault verwenden.
Anforderungen
Diese Rolle erfordert Archlinux, AmazonLinux, FreeBSD, Debian oder eine RHEL-basierte Linux-Distribution. Sie könnte auch mit anderen Softwareversionen funktionieren, aber die spezifischen Softwareversionen, mit denen sie funktioniert, sind folgende:
- Ansible: 2.8.4
- Vault: 1.4.0 und höher
- AlmaLinux
- 8
- 9
- AmazonLinux
- 2
- 2022
- ArchLinux
- CentOS
- 7
- 8 Stream
- 9 Stream
- Debian
- 9 (Stretch)
- 10 (Buster)
- 11 (Bullseye)
- FreeBSD
- 11
- RockyLinux
- 8
- 9
- Ubuntu
- 18.04 (Bionic Beaver)
- 20.04 (Focal Fossa)
- 22.04 (Jammy Jellyfish)
Leider gibt es derzeit keine geplante Unterstützung für Windows.
Warnung
Standardmäßig kann diese Rolle den vault Dienst beim Spielen neu starten (wenn es eine Konfigurationsänderung oder OS-Pakete gibt, die installiert oder aktualisiert werden).
Wenn es in Ihrem Cluster keine automatische Entsiegelung gibt, kann der Neustart dazu führen, dass alle Vault-Instanzen gesiegelt werden und Ihr Cluster ausfällt.
Um diese Situation zu vermeiden, kann der Dienstneustart durch das Playbook deaktiviert werden, indem Sie die Rollenvorlage vault_service_restart verwenden.
Das Setzen von vault_service_restart auf false stoppt den Neustart des vault Dienstes durch das Playbook. Sie müssen den Dienst möglicherweise manuell neu starten, um neue Konfigurationen zu laden.
Rollenvorlagen
Die Rolle definiert Variablen in defaults/main.yml:
vault_listener_localhost_enable
- Setzen Sie dies auf true, wenn Sie Vault auf localhost aktivieren.
- Standardwert: false
vault_privileged_install
- Setzen Sie dies auf true, wenn Sie Berechtigungsfehler sehen, wenn die Vault-Dateien lokal heruntergeladen und entpackt werden. Dieses Problem kann auftreten, wenn die Rolle von einem Benutzer (wie Root) heruntergeladen wurde und die Installation mit einem anderen Benutzer erfolgt.
- Standardwert: false
vault_version
Zu installierende Version
- Kann mit der Umgebungsvariable
VAULT_VERSIONüberschrieben werden - Enthält "+prem", wenn
vault_enterprise_premium=True - Enthält ".hsm", wenn
vault_enterprise_premium_hsm=True
- Kann mit der Umgebungsvariable
Standardwert: 1.5.5
vault_enterprise
- Setzen Sie dies auf true, wenn Sie Vault Enterprise installieren; dies ist derzeit nicht als "nur remote" Installationsmethode möglich.
- Kann mit der Umgebungsvariable
VAULT_ENTERPRISEüberschrieben werden.
- Kann mit der Umgebungsvariable
- Standardwert: false
vault_pkg
- Paketdateiname.
- Standardwert:
"vault_{{ vault_version }}_linux_amd64.zip"
vault_enterprise_pkg
- Paketdateiname.
- Standardwert:
"vault-enterprise_{{ vault_version }}_{{ vault_os }}_{{ vault_architecture }}.zip"
Weitere Variablen
Für weitere Daten variablen und deren Beschreibung folgen Sie dem Beispiel oben.
Abhängigkeiten
HINWEIS: Lesen Sie dies, bevor Sie die Rolle ausführen, um häufig auftretende Probleme zu vermeiden, die durch die Installation der richtigen Abhängigkeiten gelöst werden.
gtar
Ansible benötigt GNU tar und diese Rolle verwendet lokal das unarchive-Modul, stellen Sie also sicher, dass Ihr System gtar installiert hat.
Python netaddr
Die Rolle hängt von python-netaddr ab, daher:
pip install netaddr
auf dem Ansible-Kontroll-Host vor der Ausführung der Rolle.
Beispiel-Playbook
Eine grundlegende Installation ist mit dem enthaltenen site.yml Spielbuch möglich:
ansible-playbook -i hosts site.yml
Sie können auch Variablen mit der --extra-vars-Option beim Befehl ansible-playbook übergeben:
ansible-playbook -i hosts site.yml --extra-vars "vault_datacenter=maui"
Vagrant und VirtualBox
Siehe examples/README_VAGRANT.md für Details zu schnellen Vagrant-Bereitstellungen unter VirtualBox für Tests usw.
Beispiel VirtualBox-Playbook
Beispiel-Playbook für eine dateibasierte Vault-Instanz
- hosts: all
gather_facts: True
become: true
vars:
vault_backend: file
vault_cluster_disable: True
vault_log_level: debug
roles:
- vault
Vault Enterprise
Die Rolle kann Vault Enterprise-basierte Instanzen installieren.
Legen Sie das Vault Enterprise Zip-Archiv in {{ role_path }}/files und setzen Sie vault_enterprise: true oder verwenden Sie die Umgebungsvariable VAULT_ENTERPRISE="true".
Lizenz
BSD-2-Klausel
Autoreninformation
Mitwirkende
Ein besonderer Dank geht an die Personen, die in CONTRIBUTORS.md für ihre Beiträge zu diesem Projekt aufgeführt sind.
ansible-galaxy install brianshumate.vault