simoncaron.pve_acme

Rôle Ansible : Configuration Acme pour Proxmox VE

Ansible Lint Ansible Release Téléchargements Ansible Galaxy

Un rôle Ansible qui configure le plugin acme et les certificats pour un nœud Proxmox VE.

Ce rôle a été testé sur Proxmox VE 7.2.

Exigences

Ce rôle nécessite pexpect pour configurer les différentes invites de la ligne de commande. Si le module est manquant sur l'hôte, une tâche préalable l'installera avec le paquet python3-pip.

Variables du Rôle

Les variables disponibles sont énumérées ci-dessous, avec des valeurs par défaut (voir defaults/main.yml):

pve_acme_domain: ""

pve_acme_account_name: default
pve_acme_account_email: ""
pve_acme_account_directory: "https://acme-v02.api.letsencrypt.org/directory"

pve_acme_validation_delay: "30"

pve_acme_plugin_name: ""
pve_acme_plugin_api: ""
pve_acme_plugin_data: ""

La valeur de la variable pve_acme_domain doit être le FQDN du nœud (ex : pve.example.com). Les trois variables suivantes permettent de configurer le compte Acme utilisé pour demander des certificats. Il est conseillé de laisser pve_acme_account_name par défaut, car c'est le compte qui sera utilisé par défaut pour commander des certificats. La valeur de pve_acme_account_email doit être l'email qui recevra les notifications de letsencrypt. La dernière clé, pve_acme_account_directory, doit être soit https://acme-v02.api.letsencrypt.org/directory (pour les certificats de production) ou https://acme-staging-v02.api.letsencrypt.org/directory (pour les certificats en staging).

Le pve_acme_validation_delay représente le délai supplémentaire en secondes à attendre avant de demander la validation. Cela permet de gérer un long TTL des enregistrements DNS.

Les trois dernières variables configurent le plugin qui sera utilisé pour valider les domaines. pve_acme_plugin_name définit le nom qui sera affiché pour le plugin dans l'interface de Proxmox VE. La clé pve_acme_plugin_api doit être définie sur l'un des noms de plugin API supportés par Proxmox. (Voir ici ID du nom de plugin ACME pour une liste complète des plugins disponibles.) Enfin, pve_acme_plugin_data doit contenir les valeurs de configuration pour l'API du plugin sélectionné. (par exemple, pour une configuration de token cloudflare, cela devrait contenir la valeur CF_Token=cloudflare_token). Référez-vous à l'interface Proxmox pour une liste des clés de configuration pour chaque fournisseur.

Dépendances

Aucune.

Exemple de Playbook

- hosts: localhost

  vars:
    pve_acme_domain: "pve.example.com"
    pve_acme_account_email: "[email protected]"
    pve_acme_plugin_name: "cloudflare"
    pve_acme_plugin_api: "cf"
    pve_acme_plugin_data: |
      CF_Token=123456abcde

  roles:
    - simoncaron.pve_acme

Licence

MIT

Informations sur l'Auteur

Ce rôle a été créé en 2022 par Simon Caron.

À propos du projet

A role to configure acme certificates on PVE node

Installer
ansible-galaxy install simoncaron.pve_acme
Licence
Unknown
Téléchargements
21.5k
Propriétaire
Software Engineer | IaC | Containers | Ansible | Kubernetes | Helm