robertdebock.vault

Rol de Ansible Vault

Instala Hashicorp Vault, ya sea como paquete o binario.

GitHub GitLab Descargas Versión
github gitlab downloads Version

Ejemplo de Playbook

Este ejemplo se toma de molecule/default/converge.yml y se prueba en cada push, solicitud de extracción y lanzamiento.

---
- name: Converge
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.vault
      vault_hardening_disable_swap: false

La máquina necesita ser preparada. En CI, esto se hace usando molecule/default/prepare.yml:

---
- name: Prepare
  hosts: all
  become: true
  gather_facts: false

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

También consulta una explicación completa y ejemplo sobre cómo usar estos roles.

Variables del Rol

Los valores predeterminados para las variables están establecidos en defaults/main.yml:

---
# archivo de valores predeterminados para vault

# Selecciona el tipo de Vault a instalar. Puede ser "oss", "ent" o "hsm".
# `oss` significa Código Abierto.
# `ent` significa Empresarial.
# `hsm` significa Empresarial con soporte para HSM.
vault_type: oss

# Establece la versión del paquete a instalar.
vault_version: "1.15.6"

# Para instalaciones de paquetes, se requiere un "release". Por ejemplo, el paquete se llamaría `vault-1.12.2-1`.
vault_package_release: "1"

# Selecciona la forma de instalar Vault. Puede ser "package" o "binary".
vault_installation_method: "package"

# Cuando `vault_installation_method` está establecido en "binary", establece la ruta donde descargar temporalmente Vault.
vault_download_path: "/tmp/vault-{{ vault_version }}"

# Cuando `vault_installation_method` está establecido en "binary", establece la ruta (base) donde instalar Vault. Puede ser "" o "/opt" por ejemplo.
vault_path: ""

# Cuando `vault_installation_method` está establecido en "binary", establece el usuario bajo el cual Vault se ejecutará. El usuario "root" no está permitido.
vault_user: vault

# Cuando `vault_installation_method` está establecido en "binary", establece el grupo bajo el cual Vault se ejecutará. El grupo "root" no está permitido.
vault_group: vault

# Cuando `vault_installation_method` está establecido en "binary", establece el shell para el vault_user.
vault_user_shell: /bin/false

# Dónde almacenar datos. Son datos de Raft y material TLS.
vault_data_directory: /opt/vault

# Consejos de endurecimiento para deshabilitar el intercambio de memoria.
vault_hardening_disable_swap: true

# Consejos de endurecimiento para deshabilitar los "core dumps".
vault_hardening_disable_core_dumps: true

# Consejos de endurecimiento para deshabilitar el historial de comandos de shell.
vault_hardening_disable_shell_command_history: true

# Consejos de endurecimiento para configurar SELinux / AppArmor.
vault_hardening_configure_selinux_apparmor: true

# Puedes colocar variables que Vault escucha en esta lista.
# Por ejemplo:
# 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: []

Requisitos

Estado de los roles utilizados

Los siguientes roles se utilizan para preparar un sistema. Puedes preparar tu sistema de otra manera.

Requerimiento GitHub GitLab
robertdebock.bootstrap Estado de la Construcción GitHub Estado de la Construcción GitLab
robertdebock.core_dependencies Estado de la Construcción GitHub Estado de la Construcción GitLab
robertdebock.hashicorp Estado de la Construcción GitHub Estado de la Construcción GitLab

Contexto

Este rol es parte de muchos roles compatibles. Consulta la documentación de estos roles para más información.

Aquí hay un resumen de los roles relacionados: dependencias

Compatibilidad

Este rol ha sido probado en estas imágenes de contenedor:

contenedor etiquetas
Amazon Candidato
Debian todas
EL 9
Fedora 38, 39
Ubuntu todas

La versión mínima requerida de Ansible es 2.12, se han realizado pruebas en:

  • La versión anterior.
  • La versión actual.
  • La versión de desarrollo.

Si encuentras problemas, regístralos en GitHub.

Licencia

Apache-2.0.

Información del Autor

robertdebock

Por favor, considera patrocinarme.

Acerca del proyecto

Install Hashicorp Vault, either a package or a binary.

Instalar
ansible-galaxy install robertdebock.vault
Licencia
apache-2.0
Descargas
127.4k
Propietario
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.