वह क्लाउड मशीन जहां एजेंट चलते हैं
हर Murmell प्रोजेक्ट अपनी मशीन पर चलता है, बाकी सबसे अलग, एक वर्किंग फ़ोल्डर के साथ और कुछ नहीं। इसमें न कोई डेटाबेस है न डिक्रिप्शन कुंजी, इसलिए sandbox से बाहर निकलने वाले किसी एजेंट को लेने के लिए कुछ नहीं मिलेगा।
sandbox क्यों
इसे sandbox भी कहते हैं, और ज़्यादातर डॉक्यूमेंटेशन यही शब्द इस्तेमाल करती हैं।
काम का एजेंट वे कमांड चलाता है जो उसने खुद लिखे हैं। कोई पैकेज इंस्टॉल करना, कोई स्क्रिप्ट चलाना, कोई पोर्ट खोलना। हर कमांड के आगे कोई इंसानी रिव्यू नहीं होता, यानी इकलौती असली सुरक्षा यही है कि ये कहां चलते हैं।
इसीलिए यह नियम है: कोड चलाने वाली मशीन पर कुछ भी दिलचस्प नहीं होता। न डेटाबेस, न डिक्रिप्शन कुंजी, न किसी और क्लाइंट के credentials। इस मशीन पर कोई घटना सिर्फ़ मशीन की कीमत पर पड़ती है।
इसमें क्या है
प्रोजेक्ट का फ़ोल्डर, एजेंट के CLI, और जो कुछ एजेंट काम के लिए इंस्टॉल करते हैं। जो credentials आप जोड़ते हैं वे सेशन के दौरान एजेंट के काम आते हैं और इस दायरे से बाहर नहीं जाते।
कैनवस, कमरा और आरक्षण का बोर्ड कहीं और रहते हैं। अपनी डिस्क पर कुछ भी लिख देने वाला एजेंट यह तय नहीं कर सकता कि किसी फ़ाइल का मालिक कौन है: यह फ़ैसला उस मशीन पर नहीं होता जिसे वह कंट्रोल करता है।
हर प्रोजेक्ट के लिए एक मशीन
प्रोजेक्ट के बीच अलगाव कोई सेटिंग नहीं, यह उत्पाद का ढांचा है। हर कैनवस अपनी मशीन शुरू करता है, और दो प्रोजेक्ट कभी एक फ़ाइल सिस्टम साझा नहीं करते। यही चीज़ वातावरण को दोहराए जाने लायक भी बनाती है: प्रोजेक्ट हर बार एक जाने-पहचाने image से शुरू होता है।
और आख़िर में, कोड
प्रोजेक्ट के साथ एक निजी रिपॉज़िटरी बनती है, और सेशन के दौरान काम वहां पहुंचता रहता है, मशीन नष्ट होने से पहले आख़िरी बार भेजा जाता है। जो आपके पास बचता है वह एक आम रिपॉज़िटरी है, आपके पास, जिसे Murmell के बिना भी पढ़ा जा सकता है। एक सेशन का पूरा क्रम।
सीधे जवाब
क्या प्रोजेक्ट एक मशीन साझा करते हैं?
नहीं। एक प्रोजेक्ट, एक मशीन। दो क्लाइंट कभी एक ही फ़ाइल सिस्टम पर नहीं मिलते, और डिस्क खंगालने वाला एजेंट सिर्फ़ अपने ही प्रोजेक्ट का फ़ोल्डर देखता है।
मशीन नष्ट होने पर क्या बचता है?
प्रोजेक्ट की निजी रिपॉज़िटरी, जिसे नष्ट होने से पहले भेज दिया जाता है। मशीन बनावट से ही डिस्पोज़ेबल है: जो कुछ बचना चाहिए वह पहले ही उस रिपॉज़िटरी में है जो आपकी है।
क्या मशीन से एजेंट इंटरनेट एक्सेस कर सकता है?
हां, वरना यह न डिपेंडेंसी इंस्टॉल कर पाता न मॉडल से बात कर पाता। ठीक इसी वजह से मशीन में कोई इन्फ्रास्ट्रक्चर सीक्रेट नहीं होता: यह जो एकमात्र संवेदनशील चीज़ देखती है वह चल रहे प्रोजेक्ट का कोड है।