buluma.openssl
Ansible 角色 openssl
生成 openssl 证书。
GitHub | 版本 | 问题 | Pull Requests | 下载量 |
---|---|---|---|---|
示例 Playbook
这个示例来自 molecule/default/converge.yml
,并在每次推送、拉取请求和发布时进行测试。
---
- name: Converge
hosts: all
become: true
gather_facts: true
pre_tasks:
- name: 更新 apt 缓存。
apt: update_cache=yes cache_valid_time=600
when: ansible_os_family == 'Debian'
changed_when: false
- name: 检查 python3.11 EXTERNALLY-MANAGED 文件是否存在
ansible.builtin.stat:
path: /usr/lib/python3.11/EXTERNALLY-MANAGED
register: externally_managed_file_py311
- name: 如果存在,重命名 python3.11 EXTERNALLY-MANAGED 文件
ansible.builtin.command:
cmd: mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.old
when: externally_managed_file_py311.stat.exists
args:
creates: /usr/lib/python3.11/EXTERNALLY-MANAGED.old
- name: 检查 python3.12 EXTERNALLY-MANAGED 文件是否存在
ansible.builtin.stat:
path: /usr/lib/python3.12/EXTERNALLY-MANAGED
register: externally_managed_file_py312
- name: 如果存在,重命名 python3.12 EXTERNALLY-MANAGED 文件
ansible.builtin.command:
cmd: mv /usr/lib/python3.12/EXTERNALLY-MANAGED /usr/lib/python3.12/EXTERNALLY-MANAGED.old
when: externally_managed_file_py312.stat.exists
args:
creates: /usr/lib/python3.12/EXTERNALLY-MANAGED.old
roles:
- role: buluma.openssl
openssl_items:
- name: my_openssl_key
common_name: my.example.com
机器需要准备。在 CI 环境中,这通过 molecule/default/prepare.yml
完成:
---
- name: 准备
hosts: all
become: true
gather_facts: false
roles:
- role: buluma.bootstrap
- role: buluma.buildtools
- role: buluma.epel
- role: buluma.python_pip
也可以查看 完整的说明和示例,了解如何使用这些角色。
角色变量
变量的默认值设置在 defaults/main.yml
中:
---
# openssl 的默认值文件
# 您可以传递一个 ssl 密钥/csr/crt/p12 的列表来生成:
# openssl_items:
# - name: my_openssl_key
# common_name: my.example.com
# 您可以更改存储每种对象(密钥、csr、crt、p12 和 pkcs12)的路径。默认情况下,分发的常规位置在 `vars/main.yml` 中设置。
# 此目录存储敏感对象。(密钥、p12 和 pkcs12)
openssl_key_directory: "{{ _openssl_key_directory[ansible_os_family] | default(_openssl_key_directory['default']) }}"
# 此目录存储公共的、非持久的对象。(csr)
openssl_csr_directory: "{{ _openssl_csr_directory[ansible_os_family] | default(_openssl_csr_directory['default']) }}"
# 此目录存储公共的、持久的对象。(crt)
openssl_crt_directory: "{{ _openssl_crt_directory[ansible_os_family] | default(_openssl_crt_directory['default']) }}"
# 您可以更改由此角色创建的文件的所有者和组。
openssl_file_owner: root
openssl_file_group: root
要求
- pip 包列在 requirements.txt 中。
使用的角色状态
以下角色用于准备系统。您可以以其他方式准备您的系统。
需求 | GitHub | 版本 |
---|---|---|
buluma.bootstrap | ||
buluma.buildtools | ||
buluma.epel | ||
buluma.python_pip |
上下文
此角色是多个兼容角色的一部分。有关更多信息,请查看 这些角色的文档。
以下是相关角色的概览:
兼容性
此角色已在以下 容器镜像 上进行了测试:
容器 | 标签 |
---|---|
Alpine | 所有 |
EL | 8, 9 |
Debian | 所有 |
Fedora | 38, 39, 40 |
opensuse | 所有 |
Ubuntu | focal, bionic, jammy, noble |
所需的最低 Ansible 版本为 2.17,已对以下内容进行了测试:
- 之前的版本。
- 当前版本。
- 开发版本。
如果您发现问题,请在 GitHub 上注册。