robertdebock.ca

Rôle Ansible ca

Installez et configurez une autorité de certification sur votre système.

GitHub GitLab Téléchargements Version
github gitlab downloads Version

Exemple de Playbook

Cet exemple est tiré de molecule/default/converge.yml et est testé à chaque poussée, demande de tirage et publication.

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

  roles:
    - role: robertdebock.ca

La machine doit être préparée. Dans CI, cela se fait avec molecule/default/prepare.yml:

---
- name: Préparer
  hosts: all
  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

Voir aussi une explication complète et un exemple sur la façon d'utiliser ces rôles.

Variables du Rôle

Les valeurs par défaut pour les variables sont définies dans defaults/main.yml:

---
# fichier de valeurs par défaut pour ca

# mettre ca_init: 'yes' pour créer la CA
ca_init: true

# ca_own_root: 'yes' si vous voulez avoir votre propre CA racine.
# sinon, définissez manuellement ca_certificate_path
ca_own_root: true

# Un mot de passe pour la clé de la CA.
ca_passphrase: SuP3rS3creT

# Le nom commun pour la CA.
ca_common_name: example.com

# Autres détails pour la CA.
ca_country_name: NL
ca_email_address: [email protected]
ca_organization_name: Très petit
ca_organizational_unit_name: Encore moins
ca_state_or_province_name: Utrecht
ca_locality_name: Utrecht

# Il y a deux formats pour demander une clé et un certificat :
# 1. Avec détails : (Comprend `name:`)
# ca_requests:
#   - name: certificate1.example.com
#     passphrase: S3creT
#
# 2. Sans détails : (N'inclut pas `name:`)
# ca_requests:
#   - "{{ ansible_fqdn }}"

# Vous pouvez également mélanger ces formats :
# ca_requests:
#   - name: certificate1.example.com
#     passphrase: S3creT
#   - "{{ ansible_fqdn }}"

# Où publier les certificats, normalement à un emplacement de serveur web.
# Si non spécifié, les certificats ne seront pas publiés.
# {{ httpd_data_directory }} est hérité du rôle robertdebock.httpd.
ca_publication_location: "{{ httpd_data_directory | default('/tmp') }}/pub"

# Où les certificats doivent-ils être stockés ? Par défaut, les emplacements préférés de la distribution sont utilisés
# (voir `vars/main.yml`, sous `_ca_openssl_path`.
# Si vous avez besoin d'un certificat CA ailleurs, utilisez simplement quelque chose comme ceci :
# ca_openssl_path: /mon/emplacement/préféré
ca_openssl_path: "{{ _ca_openssl_path[ansible_os_family] | default(_ca_openssl_path['default']) }}"

Exigences

État des rôles utilisés

Les rôles suivants sont utilisés pour préparer un système. Vous pouvez préparer votre système d'une autre manière.

Exigence GitHub GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab
robertdebock.buildtools Build Status GitHub Build Status GitLab
robertdebock.epel Build Status GitHub Build Status GitLab
robertdebock.httpd Build Status GitHub Build Status GitLab
robertdebock.openssl Build Status GitHub Build Status GitLab
robertdebock.python_pip Build Status GitHub Build Status GitLab

Contexte

Ce rôle fait partie de nombreux rôles compatibles. Consultez la documentation de ces rôles pour plus d'informations.

Voici un aperçu des rôles connexes : dépendances

Compatibilité

Ce rôle a été testé sur ces images de conteneurs:

conteneur tags
EL 9
Debian tout
Fedora tout
Ubuntu jammy, focal

La version minimale d'Ansible requise est 2.12, des tests ont été effectués sur :

  • La version précédente.
  • La version actuelle.
  • La version de développement.

Si vous trouvez des problèmes, veuillez les enregistrer sur GitHub.

Licence

Apache-2.0.

Informations sur l'auteur

robertdebock

Veuillez envisager de me soutenir.

À propos du projet

Install and configure a certificate authority on your system.

Installer
ansible-galaxy install robertdebock.ca
Licence
apache-2.0
Téléchargements
33.9k
Propriétaire
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.