Ansible Role : Ops Toolbox

Gratuit

Rôle Ansible pour installer automatiquement tous les outils essentiels DevOps (htop, ncdu, jq, yq, git, vim, net-tools, sysstat, tmux, etc.) avec des alias bash pratiques. Fini de perdre 30 minutes à installer les mêmes outils sur chaque VM ! Compatible Debian 12/13 & Ubuntu 22.04/24.04

Category:

Description

 

🧰 Installez tous vos outils DevOps favoris en un seul clic !

Le rôle Ansible ops_toolbox installe automatiquement tous les outils essentiels qu’un ingénieur DevOps/Ops adore avoir mais qu’il a la flemme d’installer un par un sur chaque VM.

Plus besoin de passer 30 minutes à installer les mêmes outils sur chaque nouvelle machine : un seul playbook Ansible et toute votre boîte à outils est prête !

 

✨ Fonctionnalités Clés

  • 📊 Monitoring Système Avancé : htop, sysstat (sar, iostat, mpstat), iotop, dstat, atop, iftop
  • 💾 Gestion Disque : ncdu (analyse interactive), tree (arborescence)
  • 🌐 Outils Réseau Complets : net-tools, dnsutils (dig, nslookup), mtr, traceroute, tcpdump, nmap, curl, wget
  • 🔍 Debugging & Troubleshooting : lsof (files ouverts), strace (syscalls), ltrace (library calls)
  • 📝 Parseurs de Données : jq (JSON), yq (YAML dernière version depuis GitHub)
  • ⌨️ Développement Complet : git, vim, build-essential (gcc, make), python3-pip
  • 🔎 Recherche Moderne : silversearcher-ag, ack (grep optimisé pour code)
  • 🔧 Utilitaires Système : tmux, screen, rsync, unzip, zip, bc
  • Alias Bash Pratiques : ll, la, dps (docker ps coloré), dlogs, dexec, gs (git status), et bien plus
  • 🎯 Packages Additionnels : Ajoutez facilement vos propres outils via variable Ansible
  • 💻 Large Compatibilité d’OS : Déployez sur Debian 12/13 et Ubuntu 22.04/24.04 LTS
  • 🔄 Idempotent : Réexécutez le rôle autant de fois que nécessaire sans effets de bord

 

🎁 Ce que le Rôle Configure

  • 45+ packages système installés et prêts à l’emploi
  • Alias bash intelligents pour gagner du temps au quotidien
  • yq dernière version installé depuis GitHub (pas la vieille version des dépôts)
  • Configuration .bashrc automatique pour charger les alias
  • Tout est personnalisable via variables Ansible

 


 

⚙️ Configuration & Usage

 

Prérequis
  • Système d’exploitation : Debian 12/13 ou Ubuntu 22.04/24.04.
  • Ansible : Installé sur votre machine de contrôle.
  • Privilèges : Un utilisateur avec des droits sudo sur les serveurs cibles (become: true dans votre playbook).

 

Exemple de Playbook (votre_playbook.yml)
---
- hosts: servers
  become: true

  vars:
    # =============================================================================
    # PACKAGES ADDITIONNELS (optionnel)
    # =============================================================================
    # Ajoutez vos propres packages sans modifier le rôle
    ops_toolbox_additional_packages:
      - nmap          # Network scanner
      - mtr           # Network diagnostic
      - strace        # System call tracer
      - lsof          # List open files

    # =============================================================================
    # CONFIGURATION YQ
    # =============================================================================
    # Version de yq à installer (dernière version depuis GitHub)
    ops_toolbox_yq_version: "v4.40.5"
    
    # =============================================================================
    # BASH ALIASES
    # =============================================================================
    # Activer/désactiver les alias bash
    ops_toolbox_enable_bash_aliases: true

  roles:
    - role: devops_store.ops_toolbox

 

Exemple d’Inventaire (votre_inventaire)
[servers]
vm-01 ansible_host=192.168.1.10
vm-02 ansible_host=192.168.1.11
vm-03 ansible_host=192.168.1.12

[servers:vars]
ansible_user=ubuntu
ansible_ssh_private_key_file=~/.ssh/id_rsa

 

Lancement
ansible-playbook -i votre_inventaire votre_playbook.yml

 


 

🛠️ Outils Installés

Monitoring Système
  • htop – Gestionnaire de processus interactif et coloré
  • sysstat – Suite d’outils de stats système (sar, iostat, mpstat)
  • iotop – Monitoring I/O disque par processus
  • dstat – Stats système modernes et versatiles
  • atop – Advanced system monitor avec historique
  • iftop – Monitoring trafic réseau par connexion
Gestion Disque
  • ncdu – Analyseur d’espace disque interactif (ncurses)
  • tree – Affichage de l’arborescence des fichiers
Outils Réseau
  • net-tools – netstat, ifconfig (outils réseau classiques)
  • dnsutils – dig, nslookup (diagnostic DNS)
  • mtr – Traceroute avancé (combinaison traceroute/ping)
  • traceroute – Tracer la route réseau
  • tcpdump – Capture de paquets réseau
  • nmap – Network scanner pour audit réseau
  • curl – Client HTTP en ligne de commande
  • wget – Téléchargement de fichiers
Debugging & Troubleshooting
  • lsof – List open files (essentiel pour debugging)
  • strace – System call tracer (trace les appels système)
  • ltrace – Library call tracer (trace les appels de bibliothèque)
Parseurs de Données
  • jq – Parseur JSON ultra-puissant
  • yq – Parseur YAML (installé depuis GitHub, dernière version)
Développement
  • git – Gestionnaire de versions
  • vim – Éditeur de texte avancé
  • build-essential – Compilateurs et outils (gcc, make, etc.)
  • python3-pip – Gestionnaire de packages Python
Recherche & Analyse
  • silversearcher-ag – Recherche rapide dans le code (ag)
  • ack – Better grep optimisé pour les développeurs
Utilitaires Divers
  • tmux – Terminal multiplexer (sessions persistantes)
  • screen – Alternative à tmux
  • rsync – Synchronisation de fichiers
  • unzip / zip – Compression/décompression
  • bc – Calculatrice en ligne de commande

 


 

 

⚡ Alias Bash Pratiques (60+ alias)

Le rôle configure automatiquement des alias bash pour gagner du temps au quotidien :

Navigation & Fichiers
ll          # ls -lah (détaillé avec tailles)
la          # ls -A (tous fichiers)
l           # ls -CF (compact)
..          # cd ..
...         # cd ../..
....        # cd ../../..
dus         # du -sh * | sort -h (usage disque trié)
biggest     # 20 plus gros fichiers/dossiers
Docker
dps         # docker ps formaté en tableau
dlogs       # docker logs -f (follow)
dexec       # docker exec -it (interactif)
dc          # docker compose
dclogs      # docker compose logs -f
Git
gs          # git status
ga          # git add
gc          # git commit
gp          # git push
gl          # git log --oneline --graph --decorate
Monitoring Système
psmem       # Top 10 processus par mémoire
pscpu       # Top 10 processus par CPU
ports       # Tous les ports en écoute
listening   # Ports en écoute (lsof)
Réseau
myip        # IP publique
localip     # IP locale
pingtest    # Ping rapide Google DNS
header      # Headers HTTP (curl -I)
Kubernetes (si kubectl disponible)
k           # kubectl
kgp         # kubectl get pods
kgs         # kubectl get svc
kgn         # kubectl get nodes
kdp         # kubectl describe pod
kl          # kubectl logs -f
kex         # kubectl exec -it
kctx        # kubectl config current-context
Logs & Journaux
syslog      # journalctl -f (logs temps réel)
errors      # journalctl -p err -b (erreurs)
tailf       # tail -f
Historique
h           # history
hgrep       # history | grep
histop      # Top 10 commandes utilisées
Utilitaires
now         # Date/heure formatée
week        # Numéro de semaine
path        # Afficher PATH lisiblement
reload      # Recharger .bashrc
Sécurité & Permissions
chmodx      # chmod +x (exécutable)
600         # chmod 600 (privé)
644         # chmod 644 (standard)
755         # chmod 755 (exécutable)
cp          # cp -i (avec confirmation)
mv          # mv -i (avec confirmation)
rm          # rm -i (avec confirmation)

Activation : Les alias sont automatiquement chargés au login. Pour les activer immédiatement : source ~/.bash_aliases

 


 

🔬 Détails Techniques

  • Validation OS : Le rôle vérifie automatiquement que l’OS cible est compatible (Debian 12/13 ou Ubuntu 22.04/24.04)
  • Gestion de yq : yq est téléchargé depuis les releases GitHub pour garantir une version récente (pas celle des dépôts apt)
  • Idempotence Garantie : Vous pouvez exécuter ce rôle plusieurs fois en toute sécurité
  • Pas de Dépendances : Ce rôle n’a aucune dépendance externe, fonctionne standalone
  • Personnalisation Facile : Toutes les listes de packages sont des variables modifiables
  • Tests Complets Inclus : Suite de tests Molecule fournie pour les 4 OS supportés
  • Alias Optionnels : Désactivez les alias si vous préférez gérer les vôtres (variable ops_toolbox_enable_bash_aliases)

 


 

📚 Documentation Opérationnelle

Ce rôle inclut une documentation complète dans le dossier docs/ :

  • Guide Jour 1 (docs/day1-guide.md) : Vérification de l’installation, prise en main des outils, activation des alias, exemples d’usage
  • Runbook Jour 2+ (docs/day2-runbook.md) : Ajout de packages, personnalisation des alias, troubleshooting, best practices, cas d’usage avancés
    👀 Voir la table des matières complète
    1. 📦 Gestion des Packages : Ajouter/retirer des packages, vérification
    2. 🎨 Personnalisation des Alias : Créer vos propres alias, désactiver ceux par défaut
    3. 🔄 Mise à Jour des Outils : Mettre à jour yq, packages système
    4. 🔧 Troubleshooting : Alias qui ne fonctionnent pas, yq introuvable, permissions
    5. Best Practices : tmux en production, monitoring continu, audit réseau
    6. 🎯 Scénarios Courants : Investiguer lenteur système, analyser espace disque, déboguer application
    7. Cas d’Usage Avancés : Parser logs avec jq, automatisation avec yq, scripts de monitoring

 


 

📦 Détails du Produit

  • Nom du rôle : devops_store.ops_toolbox
  • Cible OS : Debian (12/13), Ubuntu (22.04/24.04)
  • Nombre d’outils : 45+ packages + yq + alias bash
  • Dépendances : Aucune

 

🛡️ Garantie de Qualité et Support

Trois durées de garantie sont disponibles : 3 mois, 1 an et 5 ans. Ces garanties incluent le support technique et les mises à jour du code pour les plateformes supportées.

N.B. : Le support du rôle se base sur le cycle de vie des OS pour lesquels il a été développé. Cela signifie que si un OS atteint sa date d’EOL durant la période de garantie, le support et les mises à jour du rôle s’arrêtent pour cet OS. A contrario, si une nouvelle version majeure d’un OS est publiée durant la période de garantie, le support et les mises à jour du rôle seront assurés pour cette nouvelle version.

 

🔑 Licence d’Utilisation

Trois niveaux de licence sont disponibles :

  • Standard : Usage pour les projets internes de l’acheteur. Pas de redistribution, pas d’utilisation pour des clients tiers. Idéale pour les indépendants, PME gérant leur propre infra, passionnés.
  • Entreprise : Inclut tous les droits Standard et permet d’utiliser le rôle pour configurer les serveurs de clients finaux. Droit d’intégration dans des produits et services vendus. Idéale pour les ESN, Agences Web, Infogérants (MSP), Consultants DevOps.
  • Marque Blanche : Inclut tous les droits Entreprise avec l’autorisation exclusive de supprimer les mentions de l’auteur (attribution) pour présenter le code comme votre propre technologie. Idéale pour les grands Infogérants et éditeurs exigeant une image de marque unifiée sans trace de tiers.

Informations complémentaires

Licence

Standard (Usage interne seulement), Entreprise (Usage interne et commercial), Marque Blanche (Revente sans attribution)

Support et mises à jour

3 mois, 1 an, 5 ans

Produits liés