这个项目能做什么

swf-remote 是一个基于 Django/Apache 的 Web 应用程序,旨在为托管在 Brookhaven National Laboratory 防火墙后的 PanDA 生产监控服务提供外部公开互联网访问。它为 Electron Ion Collider 的 ePIC 实验提供服务,目前在 epic-devcloud.org 上线运行。 架构:该应用程序通过由 autossh 和 systemd 管理的持久 SSH 隧道,代理来自名为 swf-monitor 的内部服务的完整渲染 HTML 页面。swf-remote 本地不存储任何 PanDA 数据;所有数据均实时从具有 PanDA 数据库直接访问权限的 swf-monitor 获取。代理会将上游 URL 重写为本地 /prod/ 路径,并在保留原始页面正文和样式的同时,替换为本地身份验证控制。 页面:该中心链接到多种监控视图,包括活动概览(按状态、用户、站点统计的任务/作业数)、带有 DataTables 过滤功能的作业列表、包含文件和错误的作业详细记录、JEDI 任务列表、按频率排序的错误摘要、失败作业诊断、运行状态快照、系统健康状况、MCP 中继端点以及 API 令牌管理。 身份验证:匿名访问者仅能看到落地页、登录路径和静态资源。账户可通过本地用户名/密码或 GitHub 登录创建(不需要 eic 组织成员身份)。无头客户端使用每用户唯一的 Bearer 令牌进行身份验证。 MCP 中继:以登录用户的身份,通过隧道转发 swf-monitor 的 MCP 端点及其完整工具集,且外部工具集受策略文件限制。 技术栈:Django 5.2 与 Python 3.11,PostgreSQL 仅用于 Django 内部,Apache 配合 mod_wsgi,httpx 用于上游 REST 调用,以及 Let's Encrypt 用于 HTTPS。配置使用 SWF_REMOTE_ 前缀的环境变量。 姊妹项目:swf-monitor(具有 PanDA DB 访问权限、REST API 和 MCP 服务器的内部 Django 服务)、swf-testbed(流式工作流测试床编排)以及 swf-common-lib(共享实用程序)。