【ぴくるす】
PKL(設定言語) とは?
最終更新:
💡 設定ファイルに「型」という鎧を着せる言語
Appleが開発・公開した、設定データを生成するための言語。型や値の制約、共通設定の再利用を記述し、評価時に検証してYAMLやJSONなどへ出力できる。
📌 このページのポイント
ペンギン先生、Pklって何?YAMLじゃダメなの?
型チェックって、書いた瞬間に働くの?
基本は設定を評価するときの検証だよ。例えば年齢を0〜130の整数と定義すれば、負の数を指定して評価するとエラーになる。エディターの支援は便利だけれど、「書いた瞬間にすべてのミスが分かる」という保証ではないんだ。
共通の設定や型を別のファイルに置き、それを参照して本番用・開発用の差分を記述できるよ。公式の例ではamendsで元のモジュールを変更している。同じ設定を何度もコピーする量を減らせるね。
どんな形式にも、そのまま変換できるの?
YAMLやJSONへの出力があり、TOML用のパッケージを読み込んで出力する例もあるよ。ただし、出力形式と、受け取り先が求める設定項目は別の話。Dockerfileなど任意のファイルに自動対応すると考えず、必要なスキーマやレンダラーを確認しよう。
Appleの製品だけに使うもの?
用途はApple製品に限られないよ。公式リポジトリにはKubernetes向けのテンプレートや複数言語の連携も案内されている。最初のオープンソース公開は2024年2月1日。設定の型が通ったあとも、環境に合う値かは別に確かめよう。
まとめ:ざっくりこれだけ覚えればOK!
「PKL」って出てきたら「型チェックができる設定言語」と思えればだいたいOK!
📖 おまけ:英語の意味
「Pkl」 = Pickleと発音する設定言語の名前
💬 公式の初回公開記事は「pronounced Pickle」と案内しているよ。英語のpickleと同じ読み方で、ここでは設定データを生成する言語の名前だよ。