منصوبے کے بارے میں

gVisor چلتی ہوئی ایپلیکیشنز اور میزبان آپریٹنگ سسٹم کے درمیان تنہائی کی ایک مضبوط تہہ فراہم کرتا ہے۔ یہ ایک ایپلیکیشن کرنل ہے جو لینکس جیسا انٹرفیس نافذ کرتا ہے، لیکن لینکس کے برعکس یہ میموری سیف زبان Go میں لکھا گیا ہے اور یوزر اسپیس میں چلتا ہے۔ gVisor میں Open Container Initiative (OCI) رن ٹائم شامل ہے جسے runsc کہتے ہیں جو Docker اور Kubernetes کے ساتھ ضم ہوتا ہے، جس سے سینڈ باکسڈ کنٹینرز چلانا آسان ہو جاتا ہے۔ یہ کوئی سس کال فلٹر نہیں ہے جیسے seccomp-bpf، نہ ہی لینکس تنہائی پر مبنی پرائمیٹوز پر کوئی ریپر جیسے firejail یا AppArmor، اور نہ ہی یہ روایتی VM ہے۔ اس کے بجائے، gVisor ایک تیسرا طریقہ اختیار کرتا ہے: یہ VMs کے بہت سے سیکیورٹی فوائد فراہم کرتا ہے جبکہ عام یوزر اسپیس ایپلیکیشنز کے کم وسائل، تیز آغاز، اور لچک کو برقرار رکھتا ہے۔ یہ ایپلیکیشن کے لیے قابل رسائی میزبان کرنل سطح کو محدود کرتا ہے جبکہ پھر بھی ایپلیکیشن کو متوقع خصوصیات تک رسائی دیتا ہے، مؤثر طور پر لینکس کے ذریعے لینکس کو نافذ کرتا ہے۔ یہ پروجیکٹ x86_64 اور ARM64 پر بنتا ہے۔ بلڈ ہدایات میں Bazel کے ساتھ ریپڈ بلڈ کنٹینر استعمال کرنا، براہ راست Bazel کے ساتھ بلڈ کرنا، یونٹ اور معیاری ٹیسٹ سوٹ چلانا، اور macOS پر ٹیسٹنگ شامل ہے۔ ایک مصنوعی go برانچ معیاری Go ٹولنگ کے ساتھ مطابقت کے لیے برقرار رکھی گئی ہے تاکہ بیرونی پیکجز gVisor کے ذیلی پیکجز جیسے Netstack کے ذریعے یوزر اسپیس نیٹ ورکنگ درآمد کر سکیں، حالانکہ اس برانچ سے runsc بلڈز سپورٹ نہیں ہیں۔ دستاویزات، فوری آغاز گائیڈز، اور تکنیکی فن تعمیر gvisor.dev پر دستیاب ہیں۔ ریپوزٹری میں گورننس، اختیار کرنے والے، سیکیورٹی پالیسی، اور تعاون کی معلومات بھی شامل ہیں۔