HeadlinesBriefing favicon HeadlinesBriefing.com

なぜYAMLがDevOpsの頭痛の種になるのか

Hacker News •
×

風刺的な批判は、YAMLがDevOps構成標準として抱える問題点を指摘しています。業界でのKubernetesの採用にもかかわらず、YAMLは仕様以外の公式ドキュメントがなく、開発中にエラー処理を強制しないため、ランタイムエラーが発生します。主な問題には、型の曖昧な解析が含まれます:ノルウェーの国コード `NO` はブーリアンのfalseとして解釈され、一方で8進数のように `0666` はYAML 1.1では自動変換されます(1.2では `0o666` に変更)。時間値のように `04:30` は、文字列として明示的に型付けされない限り秒(16200)にシリアルライズされます。バージョン番号 `1.7` と `1.70` は同じ浮動小数点数としてパースされ、セマンティックバージョニングを壊します。CIパイプラインは、8文字のGit SHA がすべて数字であるときに不安定になり、型付きパーサーがそれらを整数として誤解釈します。セキュリティリスクは、RubyPHPSwagger、および PyYAML の逆シリアル化の脆弱性を通じて存在します。著者はYAMLをJSONおよびINIと不利に比較し、その唯一の利点はコメントとわずかな可読性であると指摘しています。この記事は、Azure DevOpsCircleCI、および仮想の将来のシステム間でのCI構文の不一致の例で締めくくられ、断片化を強調しています。