इस प्रोजेक्ट के बारे में

swf-remote एक Django/Apache वेब एप्लिकेशन है जो Brookhaven National Laboratory के फ़ायरवॉल के पीछे होस्ट की गई PanDA प्रोडक्शन मॉनिटरिंग सेवाओं तक बाहरी, ओपन-इंटरनेट एक्सेस प्रदान करता है। यह Electron Ion Collider में ePIC प्रयोग के लिए कार्य करता है और epic-devcloud.org पर लाइव है। आर्किटेक्चर: यह एप्लिकेशन autossh और systemd द्वारा प्रबंधित एक स्थायी SSH टनल के माध्यम से swf-monitor नामक आंतरिक सेवा से पूर्ण रेंडर किए गए HTML पेजों को प्रॉक्सी करता है। swf-remote स्थानीय रूप से कोई PanDA डेटा नहीं रखता है; सभी डेटा वास्तविक समय में swf-monitor से प्राप्त किया जाता है, जिसकी PanDA डेटाबेस तक सीधी पहुंच है। प्रॉक्सी अपस्ट्रीम URLs को स्थानीय /prod/ पथों में बदल देता है और मूल पेज बॉडी और स्टाइलिंग को सुरक्षित रखते हुए स्थानीय प्रमाणीकरण नियंत्रणों को लागू करता है। पेज: हब में मॉनिटरिंग व्यूज़ के लिंक शामिल हैं जिनमें एक्टिविटी ओवरव्यू (स्थिति, उपयोगकर्ता, साइट के अनुसार जॉब/टास्क गणना), DataTables फ़िल्टरिंग के साथ जॉब सूचियाँ, फ़ाइलों और त्रुटियों के साथ जॉब विवरण रिकॉर्ड, JEDI टास्क सूचियाँ, आवृत्ति के आधार पर रैंक किए गए त्रुटि सारांश, विफल जॉब डायग्नोस्टिक्स, ऑपरेशनल स्टेट स्नैपशॉट, सिस्टम हेल्थ, एक MCP रिले एंडपॉइंट और API टोकन प्रबंधन शामिल हैं। प्रमाणीकरण: अनाम आगंतुकों को केवल एक लैंडिंग पेज, लॉगिन पथ और स्टैटिक एसेट्स दिखाई देते हैं। खाते स्थानीय उपयोगकर्ता नाम/पासवर्ड या GitHub साइन-इन के माध्यम से बनाए जाते हैं (eic org सदस्यता आवश्यक नहीं है)। हेडलेस क्लाइंट प्रति-उपयोगकर्ता Bearer टोकन के साथ प्रमाणित होते हैं। MCP रिले: यह swf-monitor के MCP एंडपॉइंट और उसके पूर्ण टूल सेट को साइन-इन उपयोगकर्ता के रूप में टनल के माध्यम से फॉरवर्ड करता है, जिसमें बाहरी टूल सेट को एक पॉलिसी फ़ाइल द्वारा सीमित किया जाता है। स्टैक: Python 3.11 के साथ Django 5.2, केवल Django इंटरनल्स के लिए PostgreSQL, mod_wsgi के साथ Apache, अपस्ट्रीम REST कॉल्स के लिए httpx, और HTTPS के लिए Let's Encrypt। कॉन्फ़िगरेशन SWF_REMOTE_ प्रीफिक्स्ड एनवायरनमेंट वेरिएबल्स का उपयोग करता है। सिस्टर प्रोजेक्ट्स: swf-monitor (PanDA DB एक्सेस, REST API, MCP सर्वर वाली आंतरिक Django सेवा), swf-testbed (स्ट्रीमिंग वर्कफ़्लो टेस्टबेड ऑर्केस्ट्रेशन), और swf-common-lib (साझा यूटिलिटीज)।