How evsio0n/slurm-web works
Slurm-web is a browser-based HPC cluster console; this fork adds an engineer-oriented job workbench with live logs, checks, diagnostics, and GPU telemetry. The main workflow runs from a user’s browser through the gateway to a per-cluster agent and Slurm, then presents scheduler and job data in frontend views. The graph preserves documented authentication, cluster visualization, caching, and metrics capabilities. Live protocol details come from the README and sampled frontend code; backend live-handler wiring was not sampled, so those internal links are limited to documented relationships.
Main entry points: views Cluster and job views · agent.py Agent routes · gateway.py Gateway application · JobPipelineConsole.vue Job workbench
Components 21
Browser console
- Vue application
frontend/src/main.ts - Cluster and job views
frontend/src/views - Job workbench
frontend/src/components/job/JobPipelineConsole.vue - Live job socket
frontend/src/composables/useJobLiveSocket.ts - Gateway API client
frontend/src/composables/GatewayAPI.ts - Runtime state
frontend/src/stores/runtime
Gateway and identity
- Gateway application
slurmweb/apps/gateway.py - Gateway routes
slurmweb/views/gateway.py - Authentication routes
slurmweb/views/auth
Cluster agent
- Agent application
slurmweb/apps/agent.py - Agent routes
slurmweb/views/agent.py - Slurm REST client
slurmweb/slurmrestd - GPU snapshot collector
contrib/slurm-web-gpu-snapshot.py
State and observability
- Transparent cache
slurmweb/cache.py - Metrics collection
slurmweb/metrics
Other components
- Cluster user
- LDAP / OIDC provider
- Slurm cluster
- Job output and events
- Prometheus
- Cluster topology data
Connections 25
- Cluster user → Vue application: uses
- Vue application → Cluster and job views: routes to
- Cluster and job views → Gateway API client: requests data
- Cluster and job views → Runtime state: updates state
- Cluster and job views → Job workbench: opens job
- Job workbench → Gateway API client: fetches job data
- Job workbench → Live job socket: starts live session
- Live job socket → Gateway application: opens WebSocket
- Gateway API client → Gateway application: sends API requests
- Gateway application → Gateway routes: dispatches routes
- Gateway routes → Agent application: forwards cluster requests
- Gateway application → Authentication routes: dispatches auth
- Authentication routes → LDAP / OIDC provider: authenticates
- Agent application → Agent routes: dispatches routes
- Agent routes → Slurm REST client: queries scheduler
- Slurm REST client → Slurm cluster: calls REST API
- Agent routes → Job output and events: reads job artifacts
- GPU snapshot collector → Slurm cluster: correlates job allocation
- GPU snapshot collector → Job output and events: writes GPU snapshots
- Agent routes → Job output and events: reads live events
- Gateway routes → Transparent cache: uses cache
- Agent routes → Transparent cache: uses cache
- Metrics collection → Slurm cluster: collects metrics
- Prometheus → Metrics collection: scrapes metrics
- Cluster and job views → Cluster topology data: visualizes topology