YAML ↔ JSON

Coller

Aperçu

Pourquoi formater les playbooks Ansible en YAML ?

Les playbooks expliquent comment se déroule une grande partie du travail réel : rotation des clés, mise à jour d'une flotte, ouverture du bon port pour la bonne équipe et exécution d'une manière que vous pouvez afficher dans une fenêtre de modification. Le problème pour les managers et les responsables de garde ne réside pas uniquement dans la syntaxe YAML ; c'est le saut silencieux. Une tâche est visuellement enterrée, un moment difficile à voir et une exécution semble réussie alors qu'elle n'a pas produit ce que l'entreprise pensait avoir fait. Une disposition Ansible lisible est un dispositif de sécurité, comme les commutateurs étiquetés dans une salle de serveurs, car elle rend l'intention visible avant que l'intention ne devienne une panne visible pour le client. Pour les personnes chargées du programme qui se situent entre l'informatique et l'entreprise, YAML bien rangé est le moyen d'obtenir un avis de changement plus calme : les réviseurs peuvent voir les blocs, les inclusions et les chemins d'échec sans défilement horizontal dans une police conçue pour le code, pas pour les humains. La frustration causée par les fichiers en désordre est un problème culturel : les gens prennent des raccourcis, collent des fragments et espèrent parce que le fichier semble hostile. Un passage de format dans le navigateur est un moyen de rendre le travail plus agréable pour la personne suivante, et cette personne pourrait être vous à 2 heures du matin avec un appel téléphonique déjà en cours. L'avantage est un transfert plus clair, moins de paniques ont eu lieu lors de l'exécution de cette tâche et un chemin plus court entre, je pense, cela a fonctionné et nous pouvons l'afficher dans les journaux. Si vous construisez une vérité opérationnelle dans YAML, considérez la lisibilité comme faisant partie du changement, et non comme une réflexion après coup, et vous passerez moins de temps à déterminer qui voulait dire quoi, et plus de temps sur les résultats que l'entreprise peut nommer dans une phrase. Un manuel de jeu bien rangé n’est pas une garantie, mais c’est une meilleure base pour les garanties qui vous sont demandées. Formatez d’abord, puis révisez, puis exécutez et gardez le runbook bien en vue, pas dans la tête de quelqu’un d’autre. C’est ainsi que les équipes adultes tiennent leurs promesses sans épuiser les gens. Si vous en avez assez des surprises opérationnelles qui commencent par un petit fichier que personne ne veut relire, cette habitude est une étape peu coûteuse vers une semaine plus calme.

Comment formater Ansible YAML

  1. Collez le fichier ou un bloc de tâches défaillant, en conservant intacts les noms de variables et les références de rôle.
  2. Exécutez le format, puis revérifiez le niveau de la tâche et l'indentation du module afin que les blocs restent une couche plus profonde que le parent, et non «presque» alignés.
  3. Faites un essai à sec dans un inventaire de laboratoire avant la production et conservez des notes d’idempotence là où la culture de votre équipe les attend.

FAQ sur le format YML Ansible

Un formateur peut-il casser les modèles Jinja2 dans les tâches ?
Les modèles complexes nécessitent des yeux humains. Formatez d'abord, puis examinez Jinja pour les sauts de ligne et les guillemets qu'un analyseur YAML et Ansible acceptent tous deux.
YAML est-il le même pour Ansible et Kubernetes ?
La syntaxe est YAML, mais la sémantique et les linters sont différents. Utilisez Ansible-lint dans CI et cet outil pour une mise en page lisible lorsque vous avez besoin d'un passage rapide.
Quelle est la manière la plus sûre de tester un playbook formaté ?
Vérifiez le mode par rapport à un canari avec un inventaire serré, puis développez. Jamais votre premier test en production, même si la différence "seulement" est constituée d'espaces, car les espaces peuvent toujours cacher un bug logique lorsqu'ils sont mal fusionnés.
More versions