इस प्रोजेक्ट के बारे में

Graft एक अर्ली-अल्ा प्रोजेक्ट है जो typed TOML में छोटे container workloads घोषित करने और Nix, Podman Quadlet, और systemd से उन्हें साकार कराने के लिए है। प्रलेखित प्रवाह है: TOML intent → validated resolved JSON → Nix-built rootfs → Quadlet .container फ़ाइल → systemd service → Podman container. इसका लक्ष्य Dockerfile, runtime package installation, और हाथ से लिखी Quadlet फ़ाइलों से बचना है, और यह मनमाने Podman, Quadlet, systemd, या Nix fragments स्वीकार करने के बजाय समर्थित workload concepts को validate करता है। Repository दो scopes के लिए rootfs-store backend का वर्णन करता है: NixOS system/rootful containers और Home Manager user-manager containers. रिपोर्ट किए गए समर्थित फ़ीचर्स में packages, argv commands, identity, working directory, environment, long-running services, finite jobs, setup jobs, explicit startup, typed workload dependencies, selected container networking, read-only-by-default binds, managed volumes, bounded tmpfs mounts, qualified CDI resource references, typed hardening controls, generated schema validation, और reserved fields की fail-closed rejection शामिल हैं। दस्तावेज़ स्वीकृत TOML को configuration reference में अलग रखते हैं और एक आधिकारिक capability status देते हैं जो current, planned, deferred, और forbidden behaviour को कवर करता है। Security defaults में read-only rootfs, dropped runtime capabilities, और no-new-privileges शामिल हैं, जबकि relaxations स्पष्ट रखे जाते हैं। Graft कोई default autostart या restart policy नहीं जोड़ता, और यह Podman, rootless overlay support, systemd user linger, accounts, firewall rules, या DNS policy को चुपचाप configure नहीं करता। Containers host kernel साझा करते हैं और इन्हें VM-equivalent security boundary के रूप में प्रस्तुत नहीं किया जाता। वर्तमान backend प्रत्येक workload के realised Nix runtime closure को केवल अनिवार्य read-only store mounts के माध्यम से expose करता है, बिना किसी complete-store fallback के। README Graft को छोटे Nix-native services और development workloads के लिए उपयुक्त बताता है, जिन्हें reviewable TOML और systemd ownership से लाभ मिलता है। यह अलग-अलग ज़रूरतों के लिए विकल्प सूचीबद्ध करता है: पूर्ण upstream option coverage के लिए direct Quadlet, OCI/Compose workflows के लिए Compose tooling, या VM boundary जब workloads को host kernel साझा नहीं करना चाहिए। Quickstarts, roadmap, vision, security policy, contribution guide, और development checks लिंक किए गए हैं, और प्रोजेक्ट Apache-2.0 लाइसेंस प्राप्त है।