ZeroSetup is an Internal Developer Platform (IDP) that uses Kubernetes to provide students with instant, pre-configured development environments in their browser. No installation required.
zerosetup/
βββ backend/
β βββ main.py # FastAPI Controller (Orchestrates Kubernetes)
β βββ requirements.txt # Python dependencies (fastapi, uvicorn, kubernetes)
βββ frontend/
β βββ src/ # React.js + Tailwind Sci-Fi Dashboard
β βββ public/ # Static Assets (Logos, Icons)
β βββ index.html # Entry point
βββ labs/ # The "Gold Images" for students
βββ python/
β βββ Dockerfile # VS Code + Pandas + Streamlit
β βββ welcome.py # CLI Demo Script
β βββ dashboard.py # GUI Demo Script
βββ sql/
β βββ Dockerfile # MariaDB + Adminer GUI + Auto-Login Script
β βββ init.sql # Pre-loaded "College" Database Data
βββ cyber/
βββ Dockerfile # Kali-style Tools + NoVNC Desktop + XFCE
βββ secret.txt # Hidden Flag for CTF Challenge
β‘ Quick Start Guide (Run Locally)
- Prerequisites Docker Desktop (With Kubernetes Enabled in Settings).
Python 3.x & Node.js installed.
- Build the Lab Images π³ You must build the Docker images so Kubernetes can find them. Run these commands one by one:
Bash
cd labs/python docker build -t my-python-lab:v1 .
cd ../sql docker build -t my-sql-lab:v1 .
cd ../cyber docker build -t my-cyber-lab:v1 . 3. Start the Backend (The Brain) π§ This server listens for API calls and commands Kubernetes to spawn pods.
Bash
cd ../../backend
pip install fastapi uvicorn kubernetes
python -m uvicorn main:app --reload --host 0.0.0.0 --port 8000 4. Start the Frontend (The Dashboard) π¨ This launches the React User Interface.
Bash
cd ../frontend
npm install
npm run dev -- --host π Tech Stack Orchestration: Kubernetes (K3s / Docker Desktop K8s)
Backend: Python (FastAPI) + Kubernetes Python Client
Frontend: React (Vite) + CSS Modules (Neon/Space Theme)
Container Runtime: Docker
Remote Access: NoVNC (Desktop), Code-Server (IDE), Pgweb/Adminer (DB GUI)