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

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/ راستوں میں تبدیل کرتا ہے اور اصل صفحے کے باڈی اور اسٹائلنگ کو برقرار رکھتے ہوئے مقامی تصدیق (authentication) کنٹرولز کو تبدیل کرتا ہے۔ صفحات: یہ حب مانیٹرنگ ویوز سے منسلک ہے بشمول سرگرمی کا جائزہ (اسٹیٹس، صارف، سائٹ کے لحاظ سے جاب/ٹاسک کی تعداد)، DataTables فلٹرنگ کے ساتھ جاب لسٹس، فائلوں اور غلطیوں کے ساتھ جاب ڈیٹیل ریکارڈز، JEDI ٹاسک لسٹس، تعدد کے لحاظ سے رینک کی گئی غلطیوں کا خلاصہ، ناکام جاب کی تشخیص، آپریشنل اسٹیٹ اسنیپ شاٹس، سسٹم ہیلتھ، ایک MCP ریلے اینڈ پوائنٹ، اور API ٹوکن مینجمنٹ۔ تصدیق (Authentication): گمنام وزیٹرز صرف ایک لینڈنگ پیج، لاگ ان پاتھ، اور اسٹیٹک اثاثے دیکھ سکتے ہیں۔ اکاؤنٹس مقامی صارف نام/پاس ورڈ یا 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 (مشترکہ یوٹیلیٹیز)۔