vault

Роль Ansible для Vault

Установите Hashicorp Vault, используя либо пакет, либо бинарный файл.

GitHub GitLab Скачивания Версия
github gitlab downloads Версия

Пример Playbook

Этот пример взят из molecule/default/converge.yml и тестируется при каждом пуше, запросе на слияние и выпуске.

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

  roles:
    - role: robertdebock.vault
      vault_hardening_disable_swap: false

Машину нужно подготовить. В CI это делается с помощью molecule/default/prepare.yml:

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

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

Также смотрите полное объяснение и пример о том, как использовать эти роли.

Переменные роли

Значения по умолчанию для переменных установлены в defaults/main.yml:

---
# файл значений по умолчанию для vault

# Выберите тип Vault для установки. Либо "oss", "ent" или "hsm".
# `oss` обозначает Open Source.
# `ent` обозначает Enterprise.
# `hsm` обозначает Enterprise с поддержкой HSM.
vault_type: oss

# Установите версию пакета для установки.
vault_version: "1.15.6"

# Для установки пакетов требуется "release". Пакет будет, например, называться `vault-1.12.2-1`.
vault_package_release: "1"

# Выберите способ установки Vault. Либо "package" или "binary".
vault_installation_method: "package"

# Когда `vault_installation_method` установлен на "binary", укажите путь, куда временно загрузить Vault.
vault_download_path: "/tmp/vault-{{ vault_version }}"

# Когда `vault_installation_method` установлен на "binary", укажите (основной) путь, куда установить Vault. Это может быть "" или "/opt", например.
vault_path: ""

# Когда `vault_installation_method` установлен на "binary", укажите пользователя, под которым будет работать Vault. Пользователь "root" не разрешен.
vault_user: vault

# Когда `vault_installation_method` установлен на "binary", укажите группу, под которой будет работать Vault. Группа "root" не разрешена.
vault_group: vault

# Когда `vault_installation_method` установлен на "binary", укажите оболочку для vault_user.
vault_user_shell: /bin/false

# Где хранить данные. Это данные Raft и TLS материалы.
vault_data_directory: /opt/vault

# Рекомендации по усилению безопасности для отключения swap.
vault_hardening_disable_swap: true

# Рекомендации по усилению безопасности для отключения core dumps.
vault_hardening_disable_core_dumps: true

# Рекомендации по усилению безопасности для отключения истории команд оболочки.
vault_hardening_disable_shell_command_history: true

# Рекомендации по усилению безопасности для настройки SELinux / AppArmor.
vault_hardening_configure_selinux_apparmor: true

# Вы можете поместить переменные, на которые Vault будет слушать, в этот список.
# Например:
# 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: []

Требования

Состояние используемых ролей

Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.

Требование GitHub GitLab
robertdebock.bootstrap Статус сборки GitHub Статус сборки GitLab
robertdebock.core_dependencies Статус сборки GitHub Статус сборки GitLab
robertdebock.hashicorp Статус сборки GitHub Статус сборки GitLab

Контекст

Эта роль является частью многих совместимых ролей. Посмотрите документацию этих ролей для получения дополнительной информации.

Вот обзор связанных ролей: dependencies

Совместимость

Эта роль была протестирована на этих образах контейнеров:

Контейнер Теги
Amazon Candidate
Debian all
EL 9
Fedora 38, 39
Ubuntu all

Минимальная требуемая версия Ansible - 2.12, тесты были выполнены на:

  • предыдущей версии.
  • текущей версии.
  • версии для разработчиков.

Если вы обнаружите проблемы, пожалуйста, зарегистрируйте их на GitHub.

Лицензия

Apache-2.0.

Информация об авторе

robertdebock

Пожалуйста, рассмотрите возможность спонсирования меня.

О проекте

Install Hashicorp Vault, either a package or a binary.

Установить
ansible-galaxy install robertdebock/ansible-role-vault
Лицензия
apache-2.0
Загрузки
120911
Владелец
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.