このプロジェクトについて

Graftは、型付きTOMLで小さなコンテナワークロードを宣言し、Nix・Podman Quadlet・systemdによって実現するための初期アルファプロジェクトです。文書化されたフローは以下の通り:TOML意図→検証済み解決JSON→Nix構築rootfs→Quadlet .containerファイル→systemdサービス→Podmanコンテナ。Dockerfile、ランタイムパッケージインストール、手書きQuadletファイルを回避し、任意のPodman・Quadlet・systemd・Nix断片を受け入れるのではなく、サポートされるワークロード概念を検証することを目指しています。 リポジトリは2つのスコープに対するrootfs-storeバックエンドを説明しています:NixOSシステム/ルートフルコンテナとHome Managerユーザマネージャーコンテナです。報告されているサポート機能には、パッケージ、argvコマンド、アイデンティティ、作業ディレクトリ、環境変数、長時間実行サービス、有限ジョブ、セットアップジョブ、明示的起動、型付きワークロード依存関係、選択的なコンテナネットワーク、デフォルト読み取り専用バインド、管理ボリューム、制限付きtmpfsマウント、資格付きCDIリソース参照、型付きハードニング制御、生成スキーマ検証、予約済みフィールドのfail-closed拒否が含まれます。ドキュメントでは、設定リファレンス内の受理されるTOMLと、現在・計画・延期・禁止の挙動を網羅する権威ある機能ステータスが分離されています。 セキュリティデフォルトには、読み取り専用rootfs、ドロップ済みランタイムCapability、no-new-privilegesが含まれ、緩和措置は明示的に保持されます。Graftはデフォルトの自動起動や再起動ポリシーを追加せず、Podman・rootless overlayサポート・systemdユーザlinger・アカウント・ファイアウォールルール・DNSポリシーを黙示的に設定しません。コンテナはホストカーネルを共有し、VM相当のセキュリティ境界として提示されるものではありません。現在のバックエンドは、必須の読み取り専用ストアマウントを通じて各ワークロードの実現済みNixランタイムクローズのみを公開し、complete-storeフォールバックはありません。 READMEでは、レビュー可能なTOMLとsystemd所有権から利益を得る小さなNixネイティブサービスおよび開発ワークロード向けに位置付けられています。異なるニーズに対する代替案として、完全なアップストリームオプションカバー用の直接Quadlet、OCI/Composeワークフロー用のComposeツール、またはワークロードがホストカーネルを共有してはならない場合のVM境界が挙げられています。クイックスタート、ロードマップ、ビジョン、セキュリティポリシー、貢献ガイド、開発チェックへのリンクが記載されており、プロジェクトはApache-2.0ライセンスです。