robertdebock.vault_configuration
Ansible角色 vault_configuration
在您的系统上配置 HashiCorp Vault。
GitHub | GitLab | 下载量 | 版本 |
---|---|---|---|
示例剧本
此示例来自 molecule/default/converge.yml
,并在每次推送、拉取请求和发布时进行测试。
---
- name: 收敛
hosts: all
become: true
gather_facts: true
roles:
- role: robertdebock.vault_configuration
机器需要准备好。在 CI 中,使用 molecule/default/prepare.yml
来完成:
---
- name: 准备
hosts: all
become: true
gather_facts: false
roles:
- role: robertdebock.bootstrap
- role: robertdebock.core_dependencies
- role: robertdebock.hashicorp
- role: robertdebock.vault
vault_hardening_disable_swap: false
另请查看 完整的解释和示例 以了解如何使用这些角色。
角色变量
变量的默认值在 defaults/main.yml
中设置:
---
# vault_configuration 的默认文件
# 拥有此角色管理的文件和目录的所有者和组。
vault_configuration_owner: vault
vault_configuration_group: vault
# 设置许可证。在使用 Vault 企业版时必需。
# 可以通过设置角色 `robertdebock.vault` 安装 Vault 企业版:
# - `vault_type` 设置为 `"ent"` 或 `"hsm"`。
# vault_configuration_license: "XYZABC"
# 指定 TLS 材料的存放位置。通常为 `/opt/vault/tls`。
vault_configuration_tls_directory: "/opt/vault/tls"
#
# 全局设置
#
# 这些是“全局”设置。
# 下面使用的值来自: https://developer.hashicorp.com/vault/docs/configuration
vault_configuration_max_lease_ttl: "768h"
vault_configuration_default_lease_ttl: "768h"
vault_configuration_api_addr: "https://{{ ansible_fqdn }}:8200"
vault_configuration_cluster_addr: "https://{{ ansible_fqdn }}:8201"
vault_configuration_disable_cache: false
vault_configuration_disable_mlock: true
vault_configuration_disable_clustering: false
vault_configuration_plugin_directory: ""
vault_configuration_ui: false
vault_configuration_log_level: ""
#
# 监听器设置
#
# 这些是“监听器”设置,可以有多个监听器。
vault_configuration_listeners:
- type: "tcp"
address: "127.0.0.1:8200"
cluster_address: "127.0.0.1:8201"
http_idle_timeout: "5m"
http_read_header_timeout: "10s"
http_read_timeout: "30s"
http_write_timeout: "0"
max_request_size: 33554432
max_request_duration: "90s"
proxy_protocol_behavior: ""
proxy_protocol_authorized_addrs: ""
tls_disable: false
# 您可以指定文件(`tls_cert_file`)或文件内容(`tls_cert`)。
# tls_cert_file: "/opt/vault/tls/vault.crt"
tls_cert: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
# 您可以指定文件(`tls_file_key`)或文件内容(`tls_key`)。
# tls_key_file: "/opt/vault/tls/vault.key"
tls_key: |
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
tls_min_version: "tls12"
...
# 存储设置
#
# “storage” 选项支持多种类型:https://developer.hashicorp.com/vault/docs/configuration/storage
# 通过取消注释所需的“storage”选项来选择一个。只能使用一个 `vault_configuration_storage_*` 映射。
# 这些是“raft”设置。
vault_configuration_storage_raft:
path: "/opt/vault/data"
node_id: "{{ ansible_hostname }}"
performance_multiplier: 0
...
# (UN)SEAL 设置
#
# 您可以配置 Vault 以自动解封。每种类型有一组唯一的参数。
# 只能使用其中一个 `vault_configuration_seal_*` 映射。
# ...
要求
- 在 requirements.txt 中列出的 pip 包。
使用角色的状态
以下角色用于准备系统。您可以使用其他方式准备系统。
要求 | GitHub | GitLab |
---|---|---|
robertdebock.bootstrap | ||
robertdebock.core_dependencies | ||
robertdebock.hashicorp | ||
robertdebock.vault |
背景
此角色是许多兼容角色的一部分。有关更多信息,请查看 这些角色的文档。
以下是相关角色的概述:
兼容性
此角色已在这些 容器映像 上测试:
容器 | 标签 |
---|---|
Amazon | 候选人 |
Debian | 所有 |
EL | 9 |
Fedora | 38, 39 |
Ubuntu | 所有 |
所需的最低 Ansible 版本为 2.12,已测试:
- 先前版本
- 当前版本
- 开发版本
如果您发现问题,请在 GitHub 上注册。
许可证
作者信息
请考虑 赞助我。
安装
ansible-galaxy install robertdebock.vault_configuration
许可证
apache-2.0
下载
14.9k
拥有者
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.