Ansible-Navigator est nouvel utilitaire en ligne de commande introduit avec Ansible Automation Platform 2 qui permet d'afficher autrement l'exécution d'un playbook Ansible et d'accéder à beaucoup d'informations.
Ansible est une TUI (Text User Interface) qui affiche toutes les informations
dans un dashboard possédant une interface ressemblant à nano
(l'éditeur de
texte) avec des commandes à la vi
(un autre éditeur de texte).
Installation d'Ansible-Navigator
Comme tous les autres produits Ansible, ansible-navigator
est écrit en Python,
et donc son installation se fait avec pip
. On peut donc soit :
- l'ajouter à votre environnement utilisateur via un simple
pip install ansible-navigator
- l'installer sur votre compte utilisateur
pip install ansible-navigator --user
Utilisation d'ansible-navigator
Pour découvrir cet outil, le plus simple est de lancer la commande
ansible-navigator
sans aucune option.
Cet utilitaire est incompatible avec les polices nerd fonts
Par naviguer dans l'interface on sait le caractère :
suivit de la commande
puis entrée.
Par exemple :help
On a toutes les informations pour utiliser ansible-navigator. Esc
pour revenir
en arrière et sortir. Les alias doc
-> d
Essayez tout de suite faite :d package
et vous obtiendrez la documentation du
module ansible.builtin.package plus synthétique que celle que l'on retrouve sur
le site de la documentation ansible.
Ansible-Navigator peut être lancé directement ou via une sous-commande que je vais détailler après.
# pour accéder à toutes les fonctionnalités
ansible-navigator
# ou directment à une fonction, ici config
ansible-navigator config
Les fonctionnalités d'ansible-navigator
Ansible-Navigator permet de :
:collection
: Permet de parcourir les collections installées dans votre environnement d'exécution. Pour accéder à une des collections:
suivi du chiffre devant le nom de la collection. (Ex:10
). Il affichera la liste des modules pour lequel vous pouvez demander leur documentation.:config
: Affiche tous les paramètres de la configuration actuelle. On peut aussi demander à afficher la documentation d'un des paramètres.:images
: Affiches les images Docker d'environnement d'exécution:inventory
: Permet de parcourir un ou des inventaires:run
: Exécution d'un playbook avec un affichage plus synthétique que celui de la commandeansible-playbook
. On peut demander à afficher la sortie classique avec l'option-m sdtout
.:replay
: On peut parcourir l'exécution d'un run joué précédemment en utilisant un artefact.
Configuration d'ansible-navigator
On peut configurer ansible-navigator
au niveau du projet en créant un fichier
ansible-navigator.yml
dans son répertoire. Il est possible de configurer les
environnements
d'exécution, les styles
de développement et même les détails de l'éditeur de code (on peut par exemple
lui indiquer d'utiliser vscode comme éditeur)
---
ansible-navigator:
logging:
level: debug
editor:
command: code-server {filename}
console: false
playbook-artifact:
enable: True
replay: artifacts/ansible_artifact.json
save-as: artifacts/ansible_artifact.jsonl
La documentation complète d'ansible-navigator
Conclusion
À surveiller, je dois approfondir la partie environnements d'exécution car son utilisation peut simplifier la prise en main de projet dans le cadre de travail.