Je commence à utiliser Ansible.
J'ai peu d'hôtes dans mon /etc/ansible/hosts
. Ce fichier et mes playbooks sont versionnés avec git. Les membres de mon équipe sont versionnés dans git comme
$cat users/john.json
{
login: 'john.johnson',
firstName: 'John',
lastName : 'Johnson',
sshPubKey: '....'
}
Je veux accorder à certains utilisateurs l'accès à certaines machines, par exemple :
server1 [john, alice, bob]
server2 [john, alice]
server3 [john, bob]
server4 [john]
server5 [john, kevin]
server6 [john, albert, alice]
server7 [john, bob, kevin]
J'aimerais également avoir la même approche pour les ports ouverts tels que :
server1 [22, 80, 443]
server2 [22, 1234]
server3 [22, 1122]
server4 [22]
server5 [22, 1717]
server6 [22, 80, 443]
server7 [22]
Je n'ai pas besoin d'aide pour écrire les tâches du playbook (je sais utiliser le module user/ufw) mais je ne trouve pas de moyen de centraliser proprement une configuration par hôte avec ansible.
La seule solution que j'ai pour l'instant est d'avoir un user.yml
y port.yml
les éditer chaque fois que je veux les exécuter pour un serveur spécifique et exécuter le playbook avec une commande --limit server1
. Cela ne me semble pas propre et m'empêche d'avoir un aperçu clair sur git des accès des utilisateurs et des ports ouverts pour chaque serveur.
Quelle serait la meilleure façon d'organiser cela dans ansible ?