{"id":48085268,"url":"https://github.com/rohitg00/k8sgames","last_synced_at":"2026-04-04T15:14:13.889Z","repository":{"id":338642745,"uuid":"1158430198","full_name":"rohitg00/k8sgames","owner":"rohitg00","description":"Learn Kubernetes by playing. Deploy pods, fix CrashLoopBackOff, type real kubectl commands: 3D browser game, no install needed.","archived":false,"fork":false,"pushed_at":"2026-03-31T20:17:38.000Z","size":1360,"stargazers_count":154,"open_issues_count":1,"forks_count":15,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-31T20:24:40.392Z","etag":null,"topics":["browser-game","cka","cloud-native","containers","devops","education","games","gamification","k8s","k8sgames","kubectl","kubernetes","kubernetes-learning","learning","simulation","sre","threejs"],"latest_commit_sha":null,"homepage":"https://k8sgames.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rohitg00.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-15T11:07:42.000Z","updated_at":"2026-03-31T20:24:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rohitg00/k8sgames","commit_stats":null,"previous_names":["rohitg00/k8sgames"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/rohitg00/k8sgames","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohitg00%2Fk8sgames","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohitg00%2Fk8sgames/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohitg00%2Fk8sgames/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohitg00%2Fk8sgames/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rohitg00","download_url":"https://codeload.github.com/rohitg00/k8sgames/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohitg00%2Fk8sgames/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31403954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser-game","cka","cloud-native","containers","devops","education","games","gamification","k8s","k8sgames","kubectl","kubernetes","kubernetes-learning","learning","simulation","sre","threejs"],"created_at":"2026-04-04T15:14:13.416Z","updated_at":"2026-04-04T15:14:13.877Z","avatar_url":"https://github.com/rohitg00.png","language":"JavaScript","readme":"# K8s Games\n\nLearn Kubernetes by playing. Deploy pods, fix CrashLoopBackOff, type real kubectl commands — all in a 3D sim that runs in your browser.\n\n**[Play Now at k8sgames.com](https://k8sgames.com)** | **[K8s Draw — 3D Architecture Diagrams](https://k8sgames.com/draw)**\n\n![K8s Games — 3D Kubernetes cluster simulation in the browser](screenshot.png)\n\n## Get Started\n\nVisit **[k8sgames.com](https://k8sgames.com)** and pick a mode. No install, no signup, no build step.\n\nJust here to diagram? Go straight to **[k8sgames.com/draw](https://k8sgames.com/draw)** — drag K8s resources onto a 3D canvas, draw connections, export YAML or PNG, and share via URL.\n\nOr run locally:\n\n```bash\ngit clone https://github.com/rohitg00/k8sgames.git\ncd k8sgames\npython3 -m http.server 8080\n# Open http://localhost:8080\n```\n\n## How to Play\n\n1. Pick a game mode from the main menu\n2. Click resources from the left palette to place them in your cluster\n3. Drag resources to reposition them anywhere\n4. Click any resource to inspect it (status, YAML, kubectl describe)\n5. Right-click for actions (Scale, Delete, Logs, Restart)\n6. Press `/` to open the kubectl command bar\n7. Handle incidents as they appear — diagnose and fix like a real SRE\n8. Press `?` anytime for help\n\n## Game Modes\n\n| Mode | What You Do |\n|------|-------------|\n| **Campaign** | 20 levels across 5 chapters. Learn pods, deployments, networking, storage, and production K8s |\n| **Chaos** | Endless survival. Incidents escalate until your cluster breaks. How long can you last? |\n| **Sandbox** | Free build. Design any cluster, get scored 0-100 by the Architecture Advisor |\n| **Challenges** | 10 timed scenarios. Deploy apps, fix outages, race the clock |\n\n### K8s Draw (`/draw`)\n\nA 3D Kubernetes architecture whiteboard. Like Excalidraw but for K8s.\n\n- Drag-drop 21 resource types onto a 3D canvas\n- Draw connection lines between resources\n- Double-click to rename any resource\n- Auto-layout organizes by tier (Nodes, Workloads, Networking, Storage, RBAC)\n- Export as YAML (with correct apiVersions) or PNG\n- Share diagrams via URL — one-click copy, open anywhere\n- Edit properties: name, namespace, labels, replicas\n- Right-click to delete, `Del` key for selected\n\nNo game logic, no incidents, no scoring — just diagramming.\n\n## Controls\n\n| Input | Action |\n|-------|--------|\n| `/` | kubectl command bar |\n| `?` | Help / How to play |\n| `Space` | Pause / Resume |\n| `M` | Metrics dashboard |\n| `Esc` | Back to menu |\n| `1-9` | Quick-select resource |\n| Left-click | Select resource |\n| Left-drag | Move resource or rotate camera |\n| Right-click | Context menu |\n| Right-drag | Pan |\n| Scroll | Zoom |\n\nBottom toolbar: **Auto-Align** (K8s architecture layout) | **Reset View** | **YAML** (export cluster) | **Help**\n\n## What's In It\n\n**25 K8s resources** — Pod, Deployment, ReplicaSet, StatefulSet, DaemonSet, Job, CronJob, Service, Ingress, NetworkPolicy, ConfigMap, Secret, PVC, PV, StorageClass, Node, Namespace, HPA, ResourceQuota, PodDisruptionBudget, ServiceAccount, Role, ClusterRole, RoleBinding, ClusterRoleBinding. Each has a unique 3D shape, color, and real K8s behavior.\n\n**29 incidents** — OOMKilled, CrashLoopBackOff, ImagePullBackOff, node NotReady, DNS failures, PVC pending, API throttling, rollout stuck, certificate expiry, HPA flapping, and more. Investigate with kubectl describe/logs, then fix.\n\n**kubectl command bar** — type real commands: `get pods`, `describe deployment nginx`, `scale deployment nginx --replicas=3`, `logs pod-1`, `rollout status`, `drain node-1`. Tab completion included.\n\n**Visual connections** — animated lines show ownership chains (Deployment -\u003e ReplicaSet -\u003e Pod) and network routing (Service -\u003e Pods) based on label selectors. Place a Service and pick which Deployment it connects to.\n\n**Edit resources** — click Edit on any resource to modify labels, replicas, selectors, and service types. Quick-connect buttons let you wire a Service to an existing Deployment in one click.\n\n**Architecture Advisor** — scores your cluster design across HA, security, scalability, cost, and 6 other categories.\n\n**40 achievements** and a 30-level XP system from Novice to CKA-ready.\n\n**RBAC simulation** — ServiceAccounts, Roles, ClusterRoles, RoleBindings, and ClusterRoleBindings with real rule definitions and wildcard detection.\n\n## Tech\n\nThree.js r152 + Tailwind CSS CDN + vanilla ES6 modules. No build step, no dependencies, no bundler. ~50K lines across 90+ files.\n\n## License\n\nApache-2.0\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohitg00%2Fk8sgames","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frohitg00%2Fk8sgames","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohitg00%2Fk8sgames/lists"}