Skip to content

Releases: Hackathons-ULT/the-grid-x

Release list

v.1.0.0

Choose a tag to compare

@Jay-Jay-Tee Jay-Jay-Tee released this 06 Mar 06:29
9f99d50

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/second by 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, and code size (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