HeadlinesBriefing favicon HeadlinesBriefing.com

Pourquoi YAML provoque des maux de tête en DevOps

Hacker News •
×

Une critique satirique souligne les pièges de YAML en tant que norme de configuration DevOps. Malgré l'adoption de l'industrie par Kubernetes, YAML manque de documentation officielle au-delà de sa spécification et n'impose aucune gestion d'erreurs pendant le développement, entraînant des défaillances en temps d'exécution. Les problèmes clés incluent l'analyse ambiguë des types : le code pays de la Norvège `NO` est interprété comme un booléen faux, tandis que les nombres octaux comme `0666` sont automatiquement convertis en YAML 1.1 (changé en `0o666` en 1.2).

Les valeurs de temps comme `04:30` sont sérialisées en secondes (16200) sauf si elles sont explicitement typées comme des chaînes. Les numéros de version `1.7` et `1.70` sont analysés comme des flottants identiques, rompant le versionnage sémantique. Les pipelines CI rencontrent une instabilité lorsque les SHA Git de 8 caractères sont entièrement numériques, poussant les analyseurs typés à les interpréter à tort comme des entiers.

Des risques de sécurité existent via des vulnérabilités de désérialisation dans Ruby, PHP, Swagger et PyYAML. L'auteur compare défavorablement YAML à JSON et INI, notant que ses seuls avantages sont les commentaires et une lisibilité marginale. L'article se conclut par des exemples de syntaxe CI incohérente entre Azure DevOps, CircleCI et des systèmes futurs hypothétiques, soulignant la fragmentation.