robertdebock.vault

Ansible角色vault

安装Hashicorp Vault,可以选择包或二进制文件。

GitHub GitLab 下载 版本
github gitlab downloads 版本

示例剧本

这个示例来自molecule/default/converge.yml,并在每次推送、拉取请求和发布时测试。

---
- name: 汇聚
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.vault
      vault_hardening_disable_swap: false

机器需要进行准备。在CI中,这通过molecule/default/prepare.yml完成:

---
- name: 准备
  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`表示开源。
# `ent`表示企业版。
# `hsm`表示企业版并支持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的shell。
vault_user_shell: /bin/false

# 数据存储位置。包括Raft数据和TLS材料。
vault_data_directory: /opt/vault

# 硬化建议以禁用交换空间。
vault_hardening_disable_swap: true

# 硬化建议以禁用核心转储。
vault_hardening_disable_core_dumps: true

# 硬化建议以禁用shell命令历史记录。
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

背景

该角色是许多兼容角色的一部分。有关更多信息,请查看这些角色的文档

以下是相关角色的概述: 依赖关系

兼容性

该角色已在这些容器镜像上进行测试:

容器 标签
Amazon 候选
Debian 所有
EL 9
Fedora 38, 39
Ubuntu 所有

所需的Ansible最低版本为2.12,进行了以下测试:

  • 上一个版本。
  • 当前版本。
  • 开发版本。

如果发现问题,请在GitHub上注册。

许可证

Apache-2.0

作者信息

robertdebock

请考虑对我进行赞助

关于项目

Install Hashicorp Vault, either a package or a binary.

安装
ansible-galaxy install robertdebock.vault
许可证
apache-2.0
下载
127.4k
拥有者
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.