इस प्रोजेक्ट के बारे में
Zyvor Fabric साधारण Linux सर्वरों पर KVM के साथ निर्मित प्राइवेट क्लाउड्स के लिए एक सेल्फ-होस्टेड कंट्रोल प्लेन है। यह API, ऑथेंटिकेशन, नेटवर्किंग, स्टोरेज और मॉनिटरिंग को एक सिंगल Rust डेमन, zyvor-fabricd में पैकेज करता है। VM निष्पादन को स्वयं लागू करने के बजाय, इसे दो साथी प्रोजेक्ट्स के ऊपर ऑर्केस्ट्रेशन और UX लेयर के रूप में रखा गया है: FluxVM (VM इंजन, जिसे 127.0.0.1:7788 पर REST के माध्यम से एक्सेस किया जाता है) और GuestKit (प्रथम बूट से पहले उपयोग किया जाने वाला ऑफलाइन डिस्क निरीक्षण और कस्टमाइज़ेशन)।
इंटरफेस और ऑटोमेशन
यही डेमन चार फर्स्ट-क्लास फ्रंट एंड्स को सपोर्ट करता है: zyvorctl कमांड-लाइन टूल, API के साथ सर्व किया गया एक वेब कंसोल (डिफ़ॉल्ट पोर्ट 9095), एक Kubernetes ऑपरेटर जो चल रहे fabricd इंस्टेंस के विरुद्ध VirtualMachine कस्टम रिसोर्सेज का मिलान करता है, और एक Terraform प्रोवाइडर। इसमें Ansible कंटेंट और एक "Fabric Doctor" प्रीफ्लाइट टूल भी शामिल हैं। डिक्लेरेटिव VM डेफिनिशन को zyvorctl apply -f के साथ लागू किया जा सकता है, और VM क्रिएशन वैकल्पिक टेनेंट स्कोपिंग को सपोर्ट करता है। README बताता है कि डेमन 480+ REST एंडपॉइंट्स और तीन WebSocket चैनल एक्सपोज़ करता है, और Rust और TypeScript में लगभग 87K लाइन्स ऑफ कोड और करीब 48 Rust क्रेट्स की रिपोर्ट करता है।
सुरक्षा और मल्टी-टेनेंसी
ऑथेंटिकेशन के लिए JWT का उपयोग किया जाता है, जिसमें टेनेंट क्लेम्स लिस्ट, गेट और म्यूटेट ऑपरेशन्स को स्कोप करते हैं। प्रोजेक्ट RBAC रोल्स, ऑडिट एक्सपोर्ट और रेस्ट पर एन्क्रिप्शन की सूची देता है, और OIDC/SSO और SCIM आइडेंटिटी इंटीग्रेशन के साथ-साथ क्लाइंट ट्यूटोरियल सामग्री के साथ एक OpenStack कम्पैटिबिलिटी लेयर को डॉक्यूमेंट करता है।
नेटवर्किंग
README दो पॉलिसी प्लेन्स के बीच अंतर करता है जिन्हें मिलाया नहीं जाना चाहिए: Fabric SDN (लेबल-ड्रिवन nftables होस्ट आइसोलेशन, /api/network-policies के माध्यम से प्रबंधित) और VM-edge Network Fabric डेटाप्लेन, जो प्रत्येक VM के होस्ट-साइड इंटरफेस पर TC/eBPF प्रोग्राम अटैच करता है। एज डेटाप्लेन प्रति-VM IPv4/IPv6 CIDR अलाउलिस्ट (LPM मैप्स), L4 प्रोटोकॉल/पोर्ट एनफोर्समेंट, Mbps/PPS रेट लिमिट्स, और प्रति-VM स्टैटिस्टिक्स और LRU फ्लो रिकॉर्ड्स को सपोर्ट करता है, जो सभी /api/vms/{name}/dataplane/{status,policy,stats,flows} और संबंधित zyvorctl dataplane सबकमांड्स के माध्यम से पठनीय और लिखने योग्य हैं। पॉलिसी अपडेट्स को इन-प्लेस BPF मैप रीराइट्स के रूप में वर्णित किया गया है, जिसमें रीकॉन्फ़िगरेशन के दौरान किसी 'अलाउ-ऑल' गैप के बजाय एक संक्षिप्त 'ओवर-डिनाय' विंडो का दस्तावेजीकरण है। तीन मोड डॉक्यूमेंट किए गए हैं: केवल लेगेसी nftables, VM एज पर eBPF, और एक Cilium को-एग्ज़िस्टेंस मोड। एक अलग Service Fabric लेयर Maglev VIP लोड बैलेंसिंग और संबंधित सुविधाएं प्रदान करती है। ड्यूरेबल पॉलिसी /var/lib/fluxvm/network-policy में रहती है, जिसमें पिन किए गए प्रोग्राम और मैप्स /sys/fs/bpf/fluxvm के अंतर्गत होते हैं। GPU और समान उपकरणों के लिए REST API के माध्यम से जेनेरिक PCI/VFIO पासथ्रू एक्सपोज़ किया गया है।
डिप्लॉयमेंट
चार डॉक्यूमेंटेड पाथ मौजूद हैं: systemd या हेल्पर स्क्रिप्ट्स के साथ डायरेक्ट बाइनरी के माध्यम से बेयर मेटल (जिसमें वन-कमांड "ship" फ्लो शामिल हैं), /dev/kvm और होस्ट नेटवर्किंग के साथ लोकल इवैल्यूएशन के लिए Docker/Podman Compose, प्रिविलेज्ड hostNetwork DaemonSets के साथ Helm चार्ट्स और रिमोट k3s लैब स्क्रिप्ट का उपयोग करके Kubernetes, और मौजूदा डेमन के विरुद्ध GitOps वर्कफ़्लो के लिए ऑपरेटर-ओनली मोड। सूचीबद्ध Kubernetes आवश्यकताओं में नोड्स पर /dev/kvm, प्रिविलेज्ड पॉड सिक्योरिटी लेवल और बिल्ड होस्ट पर रूटफुल कंटेनर इंजन शामिल हैं। एडमिन क्रेडेंशियल्स डिप्लॉयमेंट के समय जेनरेट किए जाते हैं और डिस्क या zyvor-fabric-secrets Kubernetes Secret से प्राप्त किए जा सकते हैं, जिसमें उन्हें सेट या रीसेट करने के लिए एनवायरनमेंट वेरिएबल्स उपलब्ध हैं।
मूल्यांकन के लिए नोट्स
README में तुलनात्मक सामग्री है जिसमें तर्क दिया गया है कि VM-edge पॉलिसी के प्रति प्रोजेक्ट का दृष्टिकोण libvirt/nftables, शेयर्ड-ब्रिज फ़ायरवॉलिंग, QEMU यूजर-मोड NAT और विशिष्ट microVM-प्लस-CNI सेटअप से आगे है; ये मेंटेनर्स के अपने दावे हैं, और उद्धृत कई प्रदर्शन आंकड़े (जैसे पॉलिसी-अपडेट लेटेंसी) लैब माप के रूप में वर्णित हैं। इन-रेपो प्राथमिक डॉक्यूमेंटेशन सेट क्विक स्टार्ट, Kubernetes, Docker, आर्किटेक्चर, नेटवर्किंग, वेब UX, होस्ट लाइफसाइकिल, गवर्नेंस और सिक्योरिटी पॉलिसी को कवर करता है। लाइसेंसिंग Apache-2.0 है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.