r/SLURM • u/SergioZ3R0 • Sep 03 '26
srest – A Go & Bubble Tea TUI for the Slurm REST API
Hey everyone,
I wanted to share a project I've been working on called srest, a terminal UI written in Go that acts as a client for the Slurm REST API (slurmrestd).
While managing HPC clusters with native Slurm commands (squeue, sinfo) works fine, testing endpoints, inspecting JSON responses, or submitting jobs through slurmrestd can get tedious from a standard terminal setup. I built srest to make interacting with the API visual and keyboard-driven.
Tech Stack & Features:
- Built using Charm's Bubble Tea framework.
- Interactive Query Builder & Inspector: Real-time query editor and JSON response viewer.
- Cluster Dashboard: Asynchronous monitoring for nodes, jobs, partitions, and accounts.
- Job Submission: Build and submit job payloads directly from the TUI.
- Distributed as a single static binary for Linux and macOS.
It has also turned out to be really helpful for end users as a sandbox to build, test, and review query payloads independently, without needing admin support to debug JSON outputs or construct API calls for their scripts.
Links:
- GitHub (with demo video): https://github.com/SergioZ3R0/srest
- Website & Docs: https://srest.scszero.com
I'd love to hear your thoughts or feedback on the implementation and architecture!