robertdebock.vault

Rôle Ansible Vault

Installer Hashicorp Vault, soit un package, soit un binaire.

GitHub GitLab Téléchargements Version
github gitlab downloads Version

Exemple de Playbook

Cet exemple est tiré de molecule/default/converge.yml et est testé à chaque mise à jour, demande de tirage et publication.

---
- name: Converger
  hosts: tous
  become: vrai
  gather_facts: vrai

  roles:
    - role: robertdebock.vault
      vault_hardening_disable_swap: faux

La machine doit être préparée. Dans CI, cela se fait en utilisant molecule/default/prepare.yml :

---
- name: Préparer
  hosts: tous
  become: vrai
  gather_facts: faux

  roles:
    - role: robertdebock.bootstrap
    - role: robertdebock.core_dependencies
    - role: robertdebock.hashicorp

Vous pouvez également consulter une explication complète et un exemple sur la façon d'utiliser ces rôles.

Variables du Rôle

Les valeurs par défaut des variables sont définies dans defaults/main.yml :

---
# fichier par défaut pour vault

# Choisissez le type de Vault à installer. Soit "oss", "ent" ou "hsm".
# `oss` signifie Open Source.
# `ent` signifie Entreprise.
# `hsm` signifie Entreprise avec support HSM.
vault_type: oss

# Définissez la version du package à installer.
vault_version: "1.15.6"

# Pour les installations de packages, un "release" est requis. Le package s'appellera par exemple `vault-1.12.2-1`.
vault_package_release: "1"

# Sélectionnez le mode d'installation de Vault. Soit "package" ou "binary".
vault_installation_method: "package"

# Lorsque `vault_installation_method` est défini sur "binary", définissez le chemin où télécharger (temporairement) Vault.
vault_download_path: "/tmp/vault-{{ vault_version }}"

# Lorsque `vault_installation_method` est défini sur "binary", définissez le (base) chemin où installer Vault. Cela peut être "" ou "/opt" par exemple.
vault_path: ""

# Lorsque `vault_installation_method` est défini sur "binary", définissez l'utilisateur sous lequel Vault sera exécuté. L'utilisateur "root" n'est pas autorisé.
vault_user: vault

# Lorsque `vault_installation_method` est défini sur "binary", définissez le groupe sous lequel Vault sera exécuté. Le groupe "root" n'est pas autorisé.
vault_group: vault

# Lorsque `vault_installation_method` est défini sur "binary", définissez le shell pour vault_user.
vault_user_shell: /bin/false

# Où stocker les données. Ce sont les données Raft et le matériel TLS.
vault_data_directory: /opt/vault

# Conseils de sécurisation pour désactiver le swap.
vault_hardening_disable_swap: vrai

# Conseils de sécurisation pour désactiver les dumps mémoire.
vault_hardening_disable_core_dumps: vrai

# Conseils de sécurisation pour désactiver l'historique des commandes shell.
vault_hardening_disable_shell_command_history: vrai

# Conseils de sécurisation pour configurer SELinux / AppArmor.
vault_hardening_configure_selinux_apparmor: vrai

# Vous pouvez placer les variables auxquelles Vault écoute dans cette liste.
# Par exemple :
# vault_environment_settings:
#   - name: VAULT_API_ADDR
#     value: "http://127.0.0.1:8200"
#   - name: VAULT_CLUSTER_ADDR
#     value: "http://127.0.0.1:8201"
#   - name: HTTP_PROXY
#     value: "http://proxy.example.com:8080"
#   - name: HTTPS_PROXY
#     value: "https://proxy.example.com:8080"
#   - name: NO_PROXY
#     value: "*.example.com,1.2.3.4:80,1.2.3.4/8"
vault_environment_settings: []

Exigences

État des rôles utilisés

Les rôles suivants sont utilisés pour préparer un système. Vous pouvez préparer votre système d'une autre manière.

Exigence GitHub GitLab
robertdebock.bootstrap État de construction GitHub État de construction GitLab
robertdebock.core_dependencies État de construction GitHub État de construction GitLab
robertdebock.hashicorp État de construction GitHub État de construction GitLab

Contexte

Ce rôle fait partie de nombreux rôles compatibles. Consultez la documentation de ces rôles pour plus d'informations.

Voici un aperçu des rôles liés : dépendances

Compatibilité

Ce rôle a été testé sur ces images de conteneurs :

conteneur tags
Amazon Candidate
Debian tous
EL 9
Fedora 38, 39
Ubuntu tous

La version minimale d'Ansible requise est 2.12, des tests ont été effectués pour :

  • La version précédente.
  • La version actuelle.
  • La version de développement.

Si vous trouvez des problèmes, veuillez les signaler sur GitHub.

Licence

Apache-2.0.

Informations sur l'auteur

robertdebock

Veuillez envisager de me soutenir.

À propos du projet

Install Hashicorp Vault, either a package or a binary.

Installer
ansible-galaxy install robertdebock.vault
Licence
apache-2.0
Téléchargements
127.4k
Propriétaire
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.