robertdebock.ca

Rol de Ansible ca

Instala y configura una autoridad certificadora en tu sistema.

GitHub GitLab Descargas Versión
github gitlab downloads Version

Ejemplo de Playbook

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

---
- nombre: Converger
  hosts: todos
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.ca

La máquina necesita ser preparada. En CI, esto se hace usando molecule/default/prepare.yml:

---
- nombre: Preparar
  hosts: todos
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap
    - role: robertdebock.buildtools
    - role: robertdebock.epel
    - role: robertdebock.python_pip
    - role: robertdebock.openssl
      openssl_items:
        - name: apache-httpd
          common_name: "{{ ansible_fqdn }}"
    - role: robertdebock.httpd

También puedes ver una explicación completa y ejemplo sobre cómo usar estos roles.

Variables de rol

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

---
# archivo predeterminado para ca

# establece ca_init: 'yes' para crear CA
ca_init: true

# ca_own_root: 'yes' si deseas tener tu propia CA raíz.
# de lo contrario, establece ca_certificate_path manualmente
ca_own_root: true

# Una frase de contraseña para la clave CA.
ca_passphrase: SuP3rS3creT

# El nombre común para la CA.
ca_common_name: ejemplo.com

# Otros detalles para la CA.
ca_country_name: NL
ca_email_address: [email protected]
ca_organization_name: Muy poco
ca_organizational_unit_name: Aún menos
ca_state_or_province_name: Utrecht
ca_locality_name: Utrecht

# Hay dos formatos para solicitar una clave y certificado:
# 1. Con detalles: (Incluye `name:`)
# ca_requests:
#   - name: certificate1.ejemplo.com
#     passphrase: S3creT
#
# 2. Sin detalles: (No incluye `name:`)
# ca_requests:
#   - "{{ ansible_fqdn }}"

# También puedes combinar estos formatos:
# ca_requests:
#   - name: certificate1.ejemplo.com
#     passphrase: S3creT
#   - "{{ ansible_fqdn }}"

# ¿Dónde publicar los certificados, normalmente en una ubicación de servidor web?
# Si no se especifica, los certificados no se publicarán.
# {{ httpd_data_directory }} se hereda del rol robertdebock.httpd.
ca_publication_location: "{{ httpd_data_directory | default('/tmp') }}/pub"

# ¿Dónde deben almacenarse los certificados? Por defecto se utilizan las
# ubicaciones preferidas de la distribución (ver `vars/main.yml`, bajo `_ca_openssl_path`).
# Si necesitas un certificado CA en otro lugar, simplemente utiliza algo como esto:
# ca_openssl_path: /mi/ruta/preferida
ca_openssl_path: "{{ _ca_openssl_path[ansible_os_family] | default(_ca_openssl_path['default']) }}"

Requisitos

Estado de los roles utilizados

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

Requisito GitHub GitLab
robertdebock.bootstrap Estado de construcción de GitHub Estado de construcción de GitLab
robertdebock.buildtools Estado de construcción de GitHub Estado de construcción de GitLab
robertdebock.epel Estado de construcción de GitHub Estado de construcción de GitLab
robertdebock.httpd Estado de construcción de GitHub Estado de construcción de GitLab
robertdebock.openssl Estado de construcción de GitHub Estado de construcción de GitLab
robertdebock.python_pip Estado de construcción de GitHub Estado de construcción de GitLab

Contexto

Este rol es parte de muchos roles compatibles. Consulta la documentación de estos roles para más información.

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

Compatibilidad

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

contenedor etiquetas
EL 9
Debian todas
Fedora todas
Ubuntu jammy, focal

La versión mínima de Ansible requerida es 2.12, 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.

Licencia

Apache-2.0.

Información del autor

robertdebock

Por favor, considera patrocinarme.

Acerca del proyecto

Install and configure a certificate authority on your system.

Instalar
ansible-galaxy install robertdebock.ca
Licencia
apache-2.0
Descargas
33.9k
Propietario
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.