প্রকল্প সম্পর্কে

গ্রাফ্ট একটি প্রারম্ভিক আলফা পর্যায়ের প্রজেক্ট যা টাইপড TOML-এ ছোট কন্টেইনার ওয়ার্কলোড ডিক্লেয়ার করে Nix, পডম্যান কোয়াডলেট এবং সিস্টেমডের মাধ্যমে সেগুলো রিয়ালাইজ করার জন্য তৈরি। নথিভুক্ত প্রক্রিয়াটি হলো: TOML ইন্টেন্ট -> ভ্যালিডেটেড রেজলভড JSON -> Nix-বিল্ট রুটফস -> কোয়াডলেট .container ফাইল -> সিস্টেমড সার্ভিস -> পডম্যান কন্টেইনার। এটি যেকোনো Podman, Quadlet, systemd বা Nix ফ্র্যাগমেন্ট গ্রহণ করার বদলে সমর্থিত ওয়ার্কলোড কনসেপ্ট গুলো ভ্যালিডেট করে ডকারফাইল, রানটাইম প্যাকেজ ইনস্টলেশন এবং হ্যান্ড-রাইটেন কোয়াডলেট ফাইল এড়াতে চেষ্টা করে। রিপোজিটরিটি দুটি স্কোপের জন্য রুটফস-স্টোর ব্যাকএন্ড বর্ণনা করে: NixOS সিস্টেম/রুটফুল কন্টেইনার এবং হোম ম্যানেজার ব্যবহারকারী-ম্যানেজার কন্টেইনার। রিপোর্ট করা সমর্থিত ফিচারগুলোর মধ্যে রয়েছে প্যাকেজ, argv কমান্ড, আইডেন্টিটি, ওয়ার্কিং ডিরেক্টরি, এনভায়রনমেন্ট, দীর্ঘমেয়াদী সার্ভিস, সীমিত জব, সেটআপ জব, স্পষ্ট স্টার্টআপ, টাইপড ওয়ার্কলোড ডিপেন্ডেন্সি, নির্বাচিত কন্টেইনার নেটওয়ার্কিং, ডিফল্টভাবে রিড-অনলি বাইন্ড, ম্যানেজড ভলিউম, বাউন্ডেড tmpfs মাউন্ট, কোয়ালিফাইড CDI রিসোর্স রেফারেন্স, টাইপড হার্ডেনিং কন্ট্রোল, জেনারেটেড স্কিমা ভ্যালিডেশন এবং রিজার্ভড ফিল্ডের ফেইল-ক্লোজড রিজেকশন। ডকুমেন্টেশন কনফিগারেশন রেফারেন্সে গৃহীত TOML কে অথোরিটেটিভ ক্যাপাবিলিটি স্ট্যাটাস থেকে আলাদা করে, যার মধ্যে বর্তমান, পরিকল্পিত, স্থগিত এবং নিষিদ্ধ আচরণের বিষয়বস্তু রয়েছে। সুরক্ষা ডিফল্টগুলোর মধ্যে রয়েছে রিড-অনলি রুটফস, ড্রপড রানটাইম ক্যাপাবিলিটি এবং নো-নিউ-প্রিভিলেজস, যেখানে রিল্যাক্সেশন গুলো স্পষ্টভাবে রাখা হয়। গ্রাফ্ট কোনো ডিফল্ট অটোস্টার্ট বা রিস্টার্ট পলিসি যোগ করে না, এবং এটি লুকিয়ে চলে Podman, রুটলেস ওভারলে সাপোর্ট, সিস্টেমড ব্যবহারকারী লিঙ্গার, অ্যাকাউন্ট, ফায়ারওয়াল রুল বা DNS পলিসি কনফিগার করে না। কন্টেইনারগুলি হোস্ট কার্নেল শেয়ার করে এবং VM-সমতুল্য সুরক্ষা সীমার হিসেবে উপস্থাপন করা হয় না। বর্তমান ব্যাকএন্ড শুধুমাত্র প্রতিটি ওয়ার্কলোডের রিয়ালাইজড Nix রানটাইম ক্লোজার ম্যান্ডেটরি রিড-অনলি স্টোর মাউন্টের মাধ্যমে প্রকাশ করে, কোনো কমপ্লিট-স্টোর ফলব্যাক নেই। README গ্রাফ্টকে ছোট Nix-নেটিভ সার্ভিস এবং ডেভেলপমেন্ট ওয়ার্কলোডের জন্য পজিশন দেয়, যেগুলো রিভিউযোগ্য TOML এবং সিস্টেমড ওয়ানারশিপ থেকে লাভ পায়। এটি বিভিন্ন প্রয়োজনের জন্য বিকল্পগুলোর তালিকা দেয়: সম্পূর্ণ উপস্ট্রিম অপশন কভারেজের জন্য ডিরেক্ট Quadlet, OCI/Compose ওয়ার্কফ্লোয়ের জন্য কম্পোজ টুলিং, বা ওয়ার্কলোড হোস্ট কার্নেল শেয়ার করা যাবে না এমন ক্ষেত্রে VM সীমা। কুইকস্টার্ট, রোডম্যাপ, ভিশন, সুরক্ষা নীতি, অবদান গাইড এবং ডেভেলপমেন্ট চেকগুলোর লিংক দেওয়া আছে, এবং প্রজেক্টটি Apache-2.0 লাইসেন্সের অধীনে রয়েছে।