概要

validation-gen フレームワーク(KEP-5073)の複数のタグが安定性レベルを昇格しました。OpenAPI互換の検証タグはBeta → Stable(GA)に、モード識別タグはAlpha → Betaに昇格しています。

背景・前提知識

validation-genのタグ安定性レベル: Alpha(実験的・変更あり得る) → Beta(概ね安定) → Stable/GA(後方互換性保証)という段階があります。

なぜ安定性が重要か: controller-toolsやCRD作者など下流のツールがこれらのタグを使い始める際、「突然仕様が変わって壊れる」というリスクがなくなることが重要です。StableになればAPIとして後方互換性が保証されます。

詳細

今回のPRで昇格したタグ:

タグ変更内容
+k8s:maxLengthBeta → Stable文字列の最大文字数(OpenAPIのmaxLengthと同義)。VolumeAttachmentSpec.Attacherなど2リリース以上の実績あり
+k8s:maxPropertiesBeta → Stableオブジェクト/マップの最大プロパティ数(OpenAPIのmaxPropertiesと同義)。Kubernetes API内での使用実績はないが、OpenAPI標準として意味が確立されているため直接Stableへ
+k8s:maximumBeta → Stable数値の上限(OpenAPIのmaximumと同義)。ResourcePoolStatusRequestSpec.LimitやWorkloadAwarePreemptionのPriorityフィールドで使用実績あり

モード識別タグ(Alpha → Beta)も昇格しています。これらはOpenAPIスタイルではないため、v1.36でのKubernetes API使用という1リリースのソーク実績でBetaへの昇格としています。

変更量: 追加7行、削除7行(サイズS)。安定性レベルのアノテーションを書き換えるだけの変更です。

すべてのタグでミスマッチメトリクス(declarative_validation_mismatch_total等)がゼロであることを確認した上での昇格です。

使用例

controller-toolsやCRDでこれらのタグを使っているプロジェクトは、Stableになったことで将来のKubernetesバージョンアップグレード時にタグの仕様変更を心配する必要がなくなります。

参考リンク