brucellino.consul
Rôle Ansible Consul
Un rôle Ansible pour déployer Hashicorp Consul sur des plateformes prises en charge, suivant le guide de déploiement Datacenter. Ce rôle est destiné à provisionner une image de base configurée pour fournir les actifs de sécurité de Consul (clé de gossip et CA) à partir d'un stockage sécurisé dans une instance Vault.
En utilisant ce rôle, vous pouvez créer une image pour un serveur et un agent, puis utiliser ces images pour lancer des instances afin de démarrer le cluster et rejoindre automatiquement les nœuds.
Fonctionnalités
Ce rôle permet de provisionner :
- Consul lui-même, en mode agent et serveur
- D'autres outils nécessaires (
consul-template
,vault
) - Les secrets TLS de Consul et les secrets de gossip lus depuis Vault
Le rôle est conçu pour utiliser l'agent Vault afin de créer des fichiers de configuration pour Consul.
Il y a un support expérimental pour rejoindre des réseaux Wi-Fi.
Exigences
Ce rôle nécessite une instance Vault opérationnelle avec des secrets TLS et des clés de gossip à un chemin donné. Les machines sont configurées pour s'authentifier auprès de Vault avec un Approle Role ID.
Ce rôle peut être appliqué à des machines virtuelles, des machines physiques et des conteneurs Docker. Le support pour les conteneurs OCI viendra dès que je trouverai un moyen fiable de détecter si nous sommes dans un type de conteneur arbitraire.
Variables du Rôle
Voir defaults/main.yml
pour les variables par défaut.
Dépendances
Aucune dépendance sur d'autres rôles.
Exemple de Playbook
Pour un exemple de playbook, voir .github/build/playbook.yml
.
Un exemple de modèle Packer qui construit les images est dans .github/build/consul.pkr.hcl
.
Licence
MIT
Informations sur l'Auteur
@brucellino brucellino@proton.me
ansible-galaxy install brucellino.consul