{"repo":"Megapixel99/nodejs-k8s","free":true,"listed":false,"github":"https://github.com/Megapixel99/nodejs-k8s","clone":"git clone https://github.com/Megapixel99/nodejs-k8s.git","description":"A from-scratch reimplementation of Kubernetes' core APIs in pure Node.js — compatible with the real kubectl CLI and standard YAML.","language":"JavaScript","stars":124,"topics":["containers","devops","docker","javascript","k8s","kubectl","kubernetes","kubernetes-api","mongodb","nodejs"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"Kubernetes in Node.js A from-scratch reimplementation of Kubernetes' core APIs in pure Node.js — compatible with the real kubectl CLI and standard Kubernetes YAML. An attempt to recreate the core functionality of Kubernetes v1.29 in Node.js. It speaks the same HTTP/JSON/protobuf surface as a real kube-apiserver , schedules pods onto a fleet of simulated nodes, orders its writes through a Raft log behind an etcd-compatible store, keeps objects in MongoDB, and runs \"pods\" as sibling Docker containers on the host. What it's for. Learning kubectl , testing operators or controllers against a lightweight fake apiserver, and quick demos without a real cluster or kind / minikube boot time. Runs on a laptop in seconds. What it is not . A production Kubernetes replacement. See Scope & limitations for the honest list of gaps. Quick start Prerequisites: Node.js ≥ 20, Docker Engine ≥ 25.0.3 (Docker Desktop, or any reachable docker daemon), and kubectl — recommended, though the API is plain HTTP and works from anything. In another shell: npm run setup writes ./kubeconfig ; it isn't checked in, since it is generated. npm run setup also brings up MongoDB in Docker. To point at your own instance instead, set DB URL in a .env file (see .env.example ) and skip that part. The server logs one line per request — method, path, status, duration. When you need to see what a client actually sent, DEBUG BODIES=1 npm start adds the headers and both bodies. To stop everything: How it works - Every API re","default_branch":null,"files":null,"tree":[],"storefront":"/r/Megapixel99","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Megapixel99/nodejs-k8s/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}