buluma.openssl

Ansible 角色 openssl

生成 openssl 证书。

GitHub 版本 问题 Pull Requests 下载量
github Version Issues PullRequests Ansible Role

示例 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

要求

使用的角色状态

以下角色用于准备系统。您可以以其他方式准备您的系统。

需求 GitHub 版本
buluma.bootstrap Ansible Molecule Version
buluma.buildtools Ansible Molecule Version
buluma.epel Ansible Molecule Version
buluma.python_pip Ansible Molecule Version

上下文

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

以下是相关角色的概览:

依赖关系

兼容性

此角色已在以下 容器镜像 上进行了测试:

容器 标签
Alpine 所有
EL 8, 9
Debian 所有
Fedora 38, 39, 40
opensuse 所有
Ubuntu focal, bionic, jammy, noble

所需的最低 Ansible 版本为 2.17,已对以下内容进行了测试:

  • 之前的版本。
  • 当前版本。
  • 开发版本。

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

变更日志

角色历史

许可证

Apache-2.0

作者信息

Shadow Walker

关于项目

Make openssl certificates.

安装
ansible-galaxy install buluma.openssl
许可证
apache-2.0
下载
582.3k
拥有者
DevOps Engineer