Releases: Hackathons-ULT/the-grid-x
Releases · Hackathons-ULT/the-grid-x
Release list
v.1.0.0
Grid-X v1.0.0
Release date: March 2026
First stable release
Grid-X is a self-hosted distributed compute mesh for isolated Python job execution across LAN nodes. This is the first production-ready release.
What's included
Core system
- FastAPI coordinator — single-instance HTTP + WebSocket server handling job submission, scheduling, worker registry, and credit settlement
- Worker agent — connects to coordinator via WebSocket, executes jobs in Docker containers, reports results and heartbeat
- Docker-isolated execution — every job runs in a fresh container (Python 3.9-slim, Node 18-slim, Ubuntu 22.04 for Bash); workers never share job state
- SQLite-backed persistence — jobs, workers, and credit balances survive restarts
- Watchdog scheduler — stuck or orphaned jobs are automatically requeued
Credit system
- Time-based compute credits:
0.1 credit/secondby default - Max-reserve-then-settle model: reserve at submit, charge actual time on completion, refund unused
- Workers earn 85% of the submitter's cost for every second of compute provided
- New users start with 100 credits; all rates are configurable via environment variables
Admin
- Web dashboard at
/admin— live view of workers, running/queued/recent jobs, and users - REST endpoints for ban, suspend, unsuspend, and force-disconnect of individual workers
- Broadcast messages to all connected workers
Developer tooling
- TypeScript SDK (
sdk/) — job submission, result polling, worker management - Worker desktop GUI (
worker_app/) — optional Tkinter app for managing a local worker node - Docker Compose — coordinator + worker on a single host in one command
- Test suite — unit tests for coordinator, worker, and credits; integration tests for end-to-end flows
Bug fixes in this release
- Double credit deduction bug — credits are now deducted exactly once, before job creation; a failed job creation refunds the full reserve atomically
- Input validation — all HTTP endpoints validate
job_id,user_id,worker_id,language, andcodesize (1MB cap) before processing - Credit race condition — reserve-then-settle prevents free jobs and ensures balance consistency under concurrent submissions
Supported languages
| Language | Docker image |
|---|---|
| python | python:3.9-slim |
| javascript / node | node:18-slim |
| bash | ubuntu:22.04 |
All limits are configurable per job via the limits field in the submission body.
Configuration
All key parameters are environment-variable-driven. See .env.example, coordinator/env.example, and worker/env.example for full reference.
Known limitations
- Coordinator is single-instance; no HA or coordinator replication in this release
- Worker authentication uses SHA-256 credential tokens — not suitable for untrusted networks without a reverse proxy + TLS
- No built-in job queue persistence across coordinator restarts (in-memory queue; DB-backed requeue on restart via watchdog)
Authors
Joshua Jacob Thomas · Sidharth Madhavan · Ujjwal Nagar · HR Soorya Dev
NIT Calicut · 2026