コンテンツにスキップ

YAML

YAML は naming-only 言語 です。import の概念がないため、dependency_mode / external_mode / allow_call_patterns は使用しません。name_deny によるネーミング規則チェックのみをサポートします。

設定例

[project]
name = "my-k8s-project"
root = "."
languages = ["yaml"]
[[layers]]
name = "config"
paths = ["config/**"]
dependency_mode = "opt-out"
external_mode = "opt-out"
name_deny = ["aws", "gcp"]
[[layers]]
name = "manifests"
paths = ["manifests/**"]
dependency_mode = "opt-out"
external_mode = "opt-out"

名前の分類

YAML 要素NameKind
マッピングキーSymbolaws_region:aws_region
スカラー値(プレーン)StringLiteralregion: us-east-1us-east-1
スカラー値(引用符付き)StringLiteralimage: "my-app:latest"my-app:latest
コメントComment# Deploy to AWS

ユースケース

Kubernetes マニフェストの命名規則

特定のレイヤーにクラウドプロバイダ固有のキーワードが現れないようにする:

[[layers]]
name = "base"
paths = ["base/**"]
name_deny = ["aws", "gcp", "azure"]

MLOps 設定ファイルのチェック

環境固有のキーワードを分離する:

[[layers]]
name = "model-config"
paths = ["configs/models/**"]
name_deny = ["staging", "production"]
name_targets = ["string_literal"] # 値のみチェック

対応ファイル拡張子

.yaml.yml の両方が解析対象です。

制限事項

  • YAML は import の概念がないため、dependency_mode / external_mode は常に opt-out に設定してください
  • allow_call_patterns は使用できません
  • name_deny のみが有効なチェックです