gwerlas.system
Système de base
Paramètres de base des systèmes Linux.
L’exécution de rôles dans des conteneurs n'est pas courante, mais ce cas d'utilisation est pris en charge pour les tests Ansible avec Molecule. Dans ce cas, seul le cache du gestionnaire de paquets sera configuré et mis à jour si nécessaire ; les autres composants du système ne seront pas gérés, car cela relève de la responsabilité du moteur de conteneurs.
Projet GitLab : yoanncolin/ansible/roles/system
Exigences
Ce rôle a été écrit pour être exécuté en tant qu'utilisateur non root, donc Sudo doit être installé et configuré.
Pour la configuration réseau, le package Python netaddr
est requis. Vous avez également besoin du module Ansible ansible.utils
.
Pour la gestion des systèmes de fichiers, le package Python jmespath
est requis. Vous avez également besoin des modules Ansible community.general
et ansible.posix
.
Informations
Faits définis de ce rôle :
system_packages
system_shells
system_sudo_version
Consultez la documentation sur [les faits][] pour plus de détails.
Tags
Étant donné que certaines valeurs sont réparties dans plusieurs tâches, vous pouvez rapidement mettre à jour certaines d'entre elles avec des tags :
ca
- Autorités de certification SSLfirewall
hosts
- Mettre à jour le fichier/etc/hosts
networks
packages
proxies
storages
sudoers
time
users
Utilisation :
ansible-playbook -t tag1[,tag2[,...]] mon_play.yml
Tâches
Les composants système sont gérés par des tâches séparées qui peuvent être appelées indépendamment.
Bien sûr, toutes les tâches sont appelées dans le main.yml
. Vous pouvez consulter la documentation de chaque tâche :
Variables de rôle
Activation des fonctionnalités
Consultez defaults/main/feature-flipping.yml
.
Activez/désactivez certaines fonctionnalités en les définissant sur true
/false
.
Variables partagées
Consultez defaults/main/shared.yml
.
system_bin_path: /usr/local/bin
system_profile: serveur
system_retries: 2
Certaines distributions ne fournissent pas de ligne de commande pour savoir facilement si un redémarrage est nécessaire, ou si le cache des paquets est obsolète. Nous avons donc mis des scripts pour le faire.
Vous pouvez changer l'emplacement de ces scripts via system_bin_path
.
Le system_profile
peut influencer le comportement de certaines parties du système, par exemple les paquets à installer (ou non).
Si vous avez des problèmes de réseau pendant l'installation, vous pouvez augmenter la valeur de system_retries
.
Dépendances
Un système Linux accessible avec Python installé.
Exemple de Playbook
Premier déploiement ou mise à niveau de distribution, mise à jour par étapes de 10 :
---
- nom : Mise à jour progressive
hôtes : tous
série : 10%
rôles :
- rôle : gwerlas.system
vars :
system_packages_upgrade : vrai
Utilisation d'une seule tâche :
---
- nom : Gestionnaires de paquets
hôtes : tous
tâches :
- nom : Juste préparer le gestionnaire de paquets
ansible.builtin.import_role:
nom : gwerlas.system
tasks_from : package-managers
Licence
ansible-galaxy install gwerlas.system