buluma.ca

Rol de Ansible ca

Instala y configura una autoridad de certificación en tu sistema.

GitHub Versión Issues Pull Requests Descargas
github Version Issues PullRequests Ansible Role

Ejemplo de Playbook

Este ejemplo se toma de molecule/default/converge.yml y se prueba en cada push, pull request y lanzamiento.

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

  roles:
    - role: buluma.ca

La máquina necesita ser preparada. En CI esto se hace usando 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
    - role: buluma.openssl
      openssl_items:
        - name: apache-httpd
          common_name: "{{ ansible_fqdn }}"
    - role: buluma.httpd

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

Variables del Rol

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

---
# archivo de valores por defecto para ca

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

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

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

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

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

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

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

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

# ¿Dónde se deben almacenar 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 usa algo como esto:
# ca_openssl_path: /mi/ruta/preferida
ca_openssl_path: "{{ _ca_openssl_path[ansible_os_family] | default(_ca_openssl_path['default']) }}"

Requerimientos

Estado de los roles utilizados

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

Requerimiento GitHub Versión
buluma.bootstrap Ansible Molecule Version
buluma.buildtools Ansible Molecule Version
buluma.epel Ansible Molecule Version
buluma.httpd Ansible Molecule Version
buluma.openssl Ansible Molecule Version
buluma.python_pip Ansible Molecule Version

Contexto

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

Aquí hay un resumen de los roles relacionados:

dependencias

Compatibilidad

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

contenedor etiquetas
EL 9
Debian todas
Fedora 38, 39, 40
opensuse todas
Ubuntu jammy, noble

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, regístralos en GitHub

Historial de Cambios

Historial del Rol

Licencia

Apache-2.0

Información del Autor

Shadow Walker

Acerca del proyecto

Install and configure a certificate authority on your system.

Instalar
ansible-galaxy install buluma.ca
Licencia
apache-2.0
Descargas
10.6k
Propietario
DevOps Engineer