robertdebock.ca
Rol de Ansible ca
Instala y configura una autoridad certificadora en tu sistema.
GitHub | GitLab | Descargas | Versión |
---|---|---|---|
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
- Paquetes pip listados en requirements.txt.
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 | ||
robertdebock.buildtools | ||
robertdebock.epel | ||
robertdebock.httpd | ||
robertdebock.openssl | ||
robertdebock.python_pip |
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:
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
Información del autor
Por favor, considera patrocinarme.
Install and configure a certificate authority on your system.
ansible-galaxy install robertdebock.ca