buluma.openssl

Rol de Ansible openssl

Crea certificados openssl.

GitHub Versión Problemas Solicitudes de extracción Descargas
github Versión Problemas Solicitudes de extracción Rol de Ansible

Ejemplo de Playbook

Este ejemplo se toma de molecule/default/converge.yml y se prueba en cada push, solicitud de extracción y lanzamiento.

---
- name: Convergir
  hosts: all
  become: true
  gather_facts: true

  pre_tasks:
    - name: Actualizar caché de apt.
      apt: update_cache=yes cache_valid_time=600
      when: ansible_os_family == 'Debian'
      changed_when: false

    - name: Comprobar si existe el archivo EXTERNALLY-MANAGED de python3.11
      ansible.builtin.stat:
        path: /usr/lib/python3.11/EXTERNALLY-MANAGED
      register: externally_managed_file_py311

    - name: Renombrar el archivo EXTERNALLY-MANAGED de python3.11 si existe
      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: Comprobar si existe el archivo EXTERNALLY-MANAGED de python3.12
      ansible.builtin.stat:
        path: /usr/lib/python3.12/EXTERNALLY-MANAGED
      register: externally_managed_file_py312

    - name: Renombrar el archivo EXTERNALLY-MANAGED de python3.12 si existe
      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: mi_clave_openssl
          common_name: mi.ejemplo.com

La máquina necesita prepararse. En CI esto se hace utilizando molecule/default/prepare.yml:

---
- name: Preparar
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: buluma.bootstrap
    - role: buluma.buildtools
    - role: buluma.epel
    - role: buluma.python_pip

También vea una explicación completa y un ejemplo sobre cómo utilizar estos roles.

Variables del Rol

Los valores predeterminados para las variables se establecen en defaults/main.yml:

---
# archivo de valores predeterminados para openssl

# Puedes pasar una lista de claves/csr/crt/p12 de ssl para generar:
# openssl_items:
#   - name: mi_clave_openssl
#     common_name: mi.ejemplo.com

# Puedes cambiar las rutas donde se almacenará cada tipo de objeto (clave, csr, crt,
# p12 y pkcs12). Esto no es obligatorio, por defecto la ubicación regular de la distribución
# está establecida en `vars/main.yml`.

# Este directorio almacena objetos sensibles. (clave, p12 y pkcs12)
openssl_key_directory: "{{ _openssl_key_directory[ansible_os_family] | default(_openssl_key_directory['default']) }}"

# Este directorio almacena objetos públicos, no persistentes. (csr)
openssl_csr_directory: "{{ _openssl_csr_directory[ansible_os_family] | default(_openssl_csr_directory['default']) }}"

# Este directorio almacena objetos públicos, persistentes. (crt)
openssl_crt_directory: "{{ _openssl_crt_directory[ansible_os_family] | default(_openssl_crt_directory['default']) }}"

# Puedes cambiar el propietario y grupo del archivo creado por este rol.
openssl_file_owner: root
openssl_file_group: root

Requisitos

Estado de los roles utilizados

Los siguientes roles se utilizan para preparar un sistema. Puedes preparar tu sistema de otra manera.

Requisito GitHub Versión
buluma.bootstrap Ansible Molecule Versión
buluma.buildtools Ansible Molecule Versión
buluma.epel Ansible Molecule Versión
buluma.python_pip Ansible Molecule Versión

Contexto

Este rol es parte de muchos roles compatibles. Echa un vistazo a la documentación de estos roles para más información.

Aquí hay una visión general de los roles relacionados:

dependencias

Compatibilidad

Este rol ha sido probado en estas imágenes de contenedores:

contenedor etiquetas
Alpine todas
EL 8, 9
Debian todas
Fedora 38, 39, 40
opensuse todas
Ubuntu focal, bionic, jammy, noble

La versión mínima de Ansible requerida es 2.17, se han realizado pruebas en:

  • La versión anterior.
  • La versión actual.
  • La versión de desarrollo.

Si encuentras problemas, por favor, regístralos en GitHub

Historial de cambios

Historial del Rol

Licencia

Apache-2.0

Información del Autor

Shadow Walker

Acerca del proyecto

Make openssl certificates.

Instalar
ansible-galaxy install buluma.openssl
Licencia
apache-2.0
Descargas
582.3k
Propietario
DevOps Engineer