vault
Роль Ansible для Vault
Установите Hashicorp Vault, используя либо пакет, либо бинарный файл.
GitHub | GitLab | Скачивания | Версия |
---|---|---|---|
Пример 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: []
Требования
- Пакеты pip указаны в requirements.txt.
Состояние используемых ролей
Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.
Требование | GitHub | GitLab |
---|---|---|
robertdebock.bootstrap | ||
robertdebock.core_dependencies | ||
robertdebock.hashicorp |
Контекст
Эта роль является частью многих совместимых ролей. Посмотрите документацию этих ролей для получения дополнительной информации.
Вот обзор связанных ролей:
Совместимость
Эта роль была протестирована на этих образах контейнеров:
Контейнер | Теги |
---|---|
Amazon | Candidate |
Debian | all |
EL | 9 |
Fedora | 38, 39 |
Ubuntu | all |
Минимальная требуемая версия Ansible - 2.12, тесты были выполнены на:
- предыдущей версии.
- текущей версии.
- версии для разработчиков.
Если вы обнаружите проблемы, пожалуйста, зарегистрируйте их на GitHub.
Лицензия
Информация об авторе
Пожалуйста, рассмотрите возможность спонсирования меня.
ansible-galaxy install robertdebock/ansible-role-vault