{"id":13448934,"url":"https://github.com/storax/kubedoom","last_synced_at":"2026-01-24T13:27:14.670Z","repository":{"id":40554074,"uuid":"205724327","full_name":"storax/kubedoom","owner":"storax","description":"Kill Kubernetes pods by playing Id's DOOM!","archived":false,"fork":false,"pushed_at":"2024-08-20T22:12:53.000Z","size":1626,"stargazers_count":2013,"open_issues_count":3,"forks_count":133,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-10-28T15:42:15.069Z","etag":null,"topics":["c","docker","dockerfile","doom","go","golang","kind","kubectl","kubernetes","pods"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/storax.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2019-09-01T19:43:39.000Z","updated_at":"2024-10-28T15:07:31.000Z","dependencies_parsed_at":"2024-10-28T14:21:11.787Z","dependency_job_id":"bf806324-93e2-4b81-82bf-43cd09aa78f0","html_url":"https://github.com/storax/kubedoom","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/storax%2Fkubedoom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/storax%2Fkubedoom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/storax%2Fkubedoom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/storax%2Fkubedoom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/storax","download_url":"https://codeload.github.com/storax/kubedoom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245002909,"owners_count":20545511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["c","docker","dockerfile","doom","go","golang","kind","kubectl","kubernetes","pods"],"created_at":"2024-07-31T06:00:25.222Z","updated_at":"2026-01-24T13:27:09.650Z","avatar_url":"https://github.com/storax.png","language":"C++","funding_links":[],"categories":["C++","Kubernetes tooling - chaos engineering","Tools and Libraries","kubernetes","Reliability \u0026 Chaos Engineering","Repositories","Notable Tools","3. Fault Injection"],"sub_categories":["Testing and Troubleshooting","Cloud"],"readme":"# Kube DOOM\n## Kill Kubernetes pods using Id's Doom!\n\nThe next level of chaos engineering is here! Kill pods inside your Kubernetes\ncluster by shooting them in Doom!\n\nThis is a fork of the excellent\n[gideonred/dockerdoomd](https://github.com/gideonred/dockerdoomd) using a\nslightly modified Doom, forked from https://github.com/gideonred/dockerdoom,\nwhich was forked from psdoom.\n\n![DOOM](assets/doom.jpg)\n\n## Running Locally\n\nIn order to run locally you will need to\n\n1. Run the kubedoom container\n2. Attach a VNC client to the appropriate port (5901)\n\n### With Docker\n\nRun `ghcr.io/storax/kubedoom:latest` with docker locally:\n\n```console\n$ docker run -p5901:5900 \\\n  --net=host \\\n  -v ~/.kube:/root/.kube \\\n  --rm -it --name kubedoom \\\n  ghcr.io/storax/kubedoom:latest\n```\n\nOptionally, if you set `-e NAMESPACE={your namespace}` you can limit Kubedoom to deleting pods in a single namespace\n\n### With Podman\n\nRun `ghcr.io/storax/kubedoom:latest` with podman locally:\n\n```console\n$ podman run -it -p5901:5900/tcp \\\n  -v ~/.kube:/tmp/.kube --security-opt label=disable \\\n  --env \"KUBECONFIG=/tmp/.kube/config\" --name kubedoom\n  ghcr.io/storax/kubedoom:latest\n```\n\n### Attaching a VNC Client\n\nNow start a VNC viewer and connect to `localhost:5901`. The password is `idbehold`:\n```console\n$ vncviewer viewer localhost:5901\n```\nYou should now see DOOM! Now if you want to get the job done quickly enter the\ncheat `idspispopd` and walk through the wall on your right. You should be\ngreeted by your pods as little pink monsters. Press `CTRL` to fire. If the\npistol is not your thing, cheat with `idkfa` and press `5` for a nice surprise.\nPause the game with `ESC`.\n\n### Killing namespaces\n\nKubedoom now also supports killing namespaces [in case you have too many of\nthem](https://github.com/storax/kubedoom/issues/5). Simply set the `-mode` flag\nto `namespaces`:\n\n```console\n$ docker run -p5901:5900 \\\n  --net=host \\\n  -v ~/.kube:/root/.kube \\\n  --rm -it --name kubedoom \\\n  ghcr.io/storax/kubedoom:latest \\\n  -mode namespaces\n```\n\n### Running Kubedoom inside Kubernetes\n\nSee the example in the `/manifest` directory. You can quickly test it using\n[kind](https://github.com/kubernetes-sigs/kind). Create a cluster with the\nexample config from this repository:\n\n```console\n$ kind create cluster --config kind-config.yaml\nCreating cluster \"kind\" ...\n ✓ Ensuring node image (kindest/node:v1.23.0) 🖼\n ✓ Preparing nodes 📦 📦\n ✓ Writing configuration 📜\n ✓ Starting control-plane 🕹️\n ✓ Installing CNI 🔌\n ✓ Installing StorageClass 💾\n ✓ Joining worker nodes 🚜\nSet kubectl context to \"kind-kind\"\nYou can now use your cluster with:\n\nkubectl cluster-info --context kind-kind\n\nNot sure what to do next? 😅  Check out https://kind.sigs.k8s.io/docs/user/quick-start/\n```\n\nThis will spin up a 2 node cluster inside docker, with port 5900 exposed from\nthe worker node. Then run kubedoom inside the cluster by applying the manifest\nprovided in this repository:\n\n```console\n$ kubectl apply -k manifest/\nnamespace/kubedoom created\ndeployment.apps/kubedoom created\nserviceaccount/kubedoom created\nclusterrolebinding.rbac.authorization.k8s.io/kubedoom created\n```\n\nTo connect run:\n```console\n$ vncviewer viewer localhost:5900\n```\n\nKubedoom requires a service account with permissions to list all pods and delete\nthem and uses kubectl 1.23.2.\n\n## Building Kubedoom\n\nThe repository contains a Dockerfile to build the kubedoom image. You have to\nspecify your systems architecture as the `TARGETARCH` build argument. For\nexample `amd64` or `arm64`.\n\n```console\n$ docker build --build-arg=TARGETARCH=amd64 -t kubedoom .\n```\n\nTo change the default VNC password, use `--build-arg=VNCPASSWORD=differentpw`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstorax%2Fkubedoom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstorax%2Fkubedoom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstorax%2Fkubedoom/lists"}