brianshumate.vault

Vault

Build Status Durchschnittliche Bearbeitungszeit eines Problems Prozentsatz der noch offenen Probleme

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
  • 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.
  • 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

Brian Shumate

Mitwirkende

Ein besonderer Dank geht an die Personen, die in CONTRIBUTORS.md für ihre Beiträge zu diesem Projekt aufgeführt sind.

Über das Projekt

HashiCorp Vault server role

Installieren
ansible-galaxy install brianshumate.vault
Lizenz
bsd-2-clause
Downloads
259.6k
Besitzer
Art ⁂ Data ⁂ Boards ⁂ Water