simoncaron.pve_acme
Rôle Ansible : Configuration Acme pour Proxmox VE
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.
A role to configure acme certificates on PVE node
ansible-galaxy install simoncaron.pve_acme