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