منصوبے کے بارے میں
smolvm آپ کو ہارڈویئر ورچوئلائزیشن (macOS پر Hypervisor.framework، Linux پر KVM، Windows پر Windows Hypervisor Platform) استعمال کرتے ہوئے مقامی طور پر حسب ضرورت Linux ورچوئل مشینیں منظم اور چلانے دیتا ہے۔ یہ VMM کے طور پر libkrun اور مہمان کرنل کے لیے libkrunfw پر بنایا گیا ہے، جہاں ہر ورک لوڈ کو مضبوط تنہائی کے لیے اپنی VM اور مہمان کرنل ملتا ہے۔
اہم صلاحیتیں شامل ہیں:
- تیز، کراس پلیٹ فارم microVM جن میں 200ms سے کم کولڈ اسٹارٹ، virtio balloon کے ذریعے لچکدار میموری، اور ہائپر وائزر میں سو جانے والے بیکار vCPU تھریڈز شامل ہیں۔
- Smolfile: ایک TOML ڈیکلریشن فائل (Dockerfile کی طرح لیکن پوری VM کے لیے) جو امیج، وسائل، نیٹ ورک پالیسی، ماؤنٹس، پورٹس اور سیٹ اپ کمانڈز متعین کرتی ہے۔ نامعلوم کیز کو بنانے کے وقت مسترد کر دیا جاتا ہے۔
- VM برانچنگ: چلتی ہوئی مشین کی لائیو کاپی-آن-رائٹ فورکس جو ماخذ کے پروسیسز، میموری اور ڈسک کے ساتھ دوبارہ شروع ہوتی ہیں۔ فین آؤٹ کے ساتھ بیچ برانچنگ، ورکر-ریڈی سگنلنگ، اور محفوظ پول سلاٹس کی حمایت کرتا ہے۔
- پورٹیبل آرٹیفیکٹس: رکی ہوئی VM کو ایک واحد .smolmachine فائل میں پیک کریں جسے کسی بھی OCI رجسٹری میں پش کیا جا سکتا ہے اور کسی بھی معاون پلیٹ فارم پر بغیر کسی انحصار کے دوبارہ بحال کیا جا سکتا ہے۔
- سینڈ باکسنگ: نیٹ ورک بطور ڈیفالٹ بند ہے؛ ایگریس کو مخصوص اجازت یافتہ ہوسٹس تک محدود کیا جا سکتا ہے۔ ہوسٹ فائل سسٹم، نیٹ ورک اور اسناد ہائپر وائزر کی حد سے الگ رکھے جاتے ہیں۔
- SSH ایجنٹ فارورڈنگ: مہمان git اور SSH کے لیے ہوسٹ SSH کیز استعمال کر سکتا ہے بغیر نجی کلیدی مواد VM میں کاپی کیے۔
- مقامی کنٹینر امیجز: Docker ڈیمون کے بغیر docker save / podman save آرکائیوز، stdin پائپس، یا غیر پیک شدہ rootfs ڈائریکٹریز سے بوٹ کریں۔
- مستقل ڈیو مشینیں: مشینیں بنائیں، روکیں، شروع کریں اور exec کریں جن میں نصب پیکجز ری اسٹارٹ کے بعد بھی باقی رہتے ہیں۔ ہوسٹ ڈائریکٹری ماؤنٹس ہاٹ ری لوڈ کے لیے inotify ایونٹس پھیلاتے ہیں۔
- Kubernetes انٹیگریشن: ایک containerd shim v2 فراہم کرتا ہے تاکہ پوڈز RuntimeClass کے ذریعے microVM کے طور پر چلیں۔
- GPU ایکسیلیریشن: macOS اور Linux پر virtio-gpu / Venus (Vulkan-over-virtio) کے ذریعے ہوسٹ GPU کو ظاہر کرتا ہے۔ CUDA API ریموٹنگ (--cuda) GPU پاس تھرو کے بغیر vsock کے ذریعے CUDA کالز کو ہوسٹ NVIDIA ڈرائیور تک فارورڈ کرتی ہے۔
- چیک پوائنٹنگ: VM کی حالت کو پائیدار .smolcheckpoint آرٹیفیکٹ کے طور پر محفوظ کریں تاکہ بعد میں بحال کیا جا سکے۔ ایک Rust crate (smolvm-checkpoint) VM رن ٹائم پر انحصار کیے بغیر انکریمنٹل اسٹوریج اور پورٹیبل ایکسپورٹ فراہم کرتا ہے۔
ڈیفالٹ وسائل 4 vCPUs اور 8 GiB RAM ہیں، جنہیں فلیگز یا Smolfile کے ذریعے تبدیل کیا جا سکتا ہے۔ سیکیورٹی ماڈل مہمان root کو غیر قابل اعتماد سمجھتا ہے، جہاں واضح طور پر فارورڈ کی گئی صلاحیتیں (ماؤنٹس، نیٹ ورک، پورٹس، SSH ایجنٹ) ورک لوڈ کے اختیار کا حصہ بن جاتی ہیں۔ یہ پروجیکٹ Apache-2.0 لائسنس یافتہ ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.