{"id":51459524,"url":"https://github.com/cantrellr/k8s-ultimate-toolbox","last_synced_at":"2026-07-06T04:01:38.649Z","repository":{"id":366473205,"uuid":"1274482292","full_name":"cantrellr/k8s-ultimate-toolbox","owner":"cantrellr","description":"🛠️ Comprehensive Kubernetes administration workstation with 50+ pre-installed tools. Deploy a fully-equipped debugging pod directly into your cluster. Air-gapped ready.","archived":false,"fork":false,"pushed_at":"2026-06-22T01:14:21.000Z","size":168,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-22T03:06:22.570Z","etag":null,"topics":["air-gapped","cloud-native","database","debugging","devops","helm","helm-chart","k8s","k9s","keycloak","kubectl","kubernetes","mongodb","mongosh","offline","platform-engineering","postgres","sre","toolbox","troubleshooting"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cantrellr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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-06-19T15:00:22.000Z","updated_at":"2026-06-22T01:14:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/cantrellr/k8s-ultimate-toolbox","commit_stats":null,"previous_names":["cantrellr/k8s-ultimate-toolbox"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/cantrellr/k8s-ultimate-toolbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cantrellr%2Fk8s-ultimate-toolbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cantrellr%2Fk8s-ultimate-toolbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cantrellr%2Fk8s-ultimate-toolbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cantrellr%2Fk8s-ultimate-toolbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cantrellr","download_url":"https://codeload.github.com/cantrellr/k8s-ultimate-toolbox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cantrellr%2Fk8s-ultimate-toolbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35177220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["air-gapped","cloud-native","database","debugging","devops","helm","helm-chart","k8s","k9s","keycloak","kubectl","kubernetes","mongodb","mongosh","offline","platform-engineering","postgres","sre","toolbox","troubleshooting"],"created_at":"2026-07-06T04:01:37.550Z","updated_at":"2026-07-06T04:01:38.611Z","avatar_url":"https://github.com/cantrellr.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# K8s Ultimate Toolbox\n\n```\n╔═══════════════════════════════════════════════════════════════════════╗\n║                                                                       ║\n║                         K8s Ultimate Toolbox                          ║\n║                                                                       ║\n║                 Platform Diagnostics Release - v1.2.0                 ║\n╚═══════════════════════════════════════════════════════════════════════╝\n```\n\n**A Kubernetes administration workstation pod for cluster, identity, database, network, storage, runtime, RBAC, policy, CNI, SELinux, audit, and air-gapped troubleshooting.**\n\n## Executive summary\n\nK8s Ultimate Toolbox deploys a controlled, repeatable troubleshooting pod into a Kubernetes namespace. It gives platform engineers one known-good operational shell instead of forcing troubleshooting tools into every application image.\n\nThe v1.2.0 release implements the recommended next additions: `crictl`, `etcdctl`, `etcdutl`, `cmctl`, `step`, `kubent`, `kubeconform`, `popeye`, `kubectl-who-can`, `rbac-lookup`, `cilium`, `hubble`, `calicoctl`, plus SELinux and audit utilities.\n\n## What changed in v1.2.0\n\n| Area | Added |\n|---|---|\n| Runtime | `crictl` |\n| Control plane | `etcdctl`, `etcdutl` |\n| Certificates / PKI | `cmctl`, `step` |\n| Upgrade safety | `kubent`, `kubeconform` |\n| Cluster hygiene | `popeye` |\n| RBAC | `kubectl-who-can`, `rbac-lookup` |\n| CNI | `cilium`, `hubble`, `calicoctl` |\n| SELinux / audit | `getenforce`, `sestatus`, `semanage`, `semodule`, `seinfo`, `sesearch`, `checkpolicy`, `checkmodule`, `audit2allow`, `audit2why`, `ausearch`, `aureport` |\n\n## Architecture\n\n```text\nKubernetes Cluster\n└── toolbox namespace\n    └── Deployment: k8s-ultimate-toolbox\n        ├── init container: update-ca-trust      # optional, root, CA trust only\n        ├── container: toolbox                  # non-root UID 10000\n        │   ├── kubectl / helm / yq / jq\n        │   ├── crictl / etcdctl / etcdutl\n        │   ├── Keycloak CLI tools\n        │   ├── cmctl / step\n        │   ├── kubent / kubeconform / popeye\n        │   ├── kubectl-who-can / rbac-lookup\n        │   ├── SELinux and audit tools\n        │   ├── cilium / hubble / calicoctl\n        │   ├── PostgreSQL and MongoDB diagnostics\n        │   ├── network and TLS tools\n        │   └── storage tools\n        └── workspace volume: emptyDir or PVC\n```\n\n## Quick start\n\n```bash\ngit clone https://github.com/cantrellr/k8s-ultimate-toolbox.git\ncd k8s-ultimate-toolbox\n\nhelm upgrade --install toolbox ./chart \\\n  -n toolbox --create-namespace\n\nkubectl wait --for=condition=available deploy/toolbox-k8s-ultimate-toolbox \\\n  -n toolbox --timeout=300s\n\nkubectl exec -it -n toolbox deploy/toolbox-k8s-ultimate-toolbox -- bash\n```\n\nShow installed tools:\n\n```bash\nshow-versions.sh\n```\n\n## Included tools\n\n| Category | Tools |\n|---|---|\n| Kubernetes | `kubectl`, `helm`, `yq`, `jq` |\n| Runtime / control plane | `crictl`, `etcdctl`, `etcdutl` |\n| Identity | `kcadm.sh`, `kcreg.sh`, `kc.sh`, `keycloak-login.sh` |\n| Certificates / PKI | `cmctl`, `step`, `openssl`, `certtool` |\n| Policy / RBAC / upgrade | `kubent`, `kubeconform`, `popeye`, `kubectl-who-can`, `rbac-lookup` |\n| SELinux / audit | `getenforce`, `sestatus`, `semanage`, `semodule`, `seinfo`, `sesearch`, `checkpolicy`, `checkmodule`, `audit2allow`, `audit2why`, `ausearch`, `aureport` |\n| CNI | `cilium`, `hubble`, `calicoctl` |\n| PostgreSQL | `psql`, `pg_isready`, `pg_dump`, `pg_restore`, `pgbench`, `pgcli`, `pg_activity`, `pgbadger`, `pg-diagnostics.sh` |\n| MongoDB | `mongosh`, `mongodump`, `mongorestore`, `mongoexport`, `mongoimport`, `mongostat`, `mongotop`, `bsondump` |\n| Network | `curl`, `wget`, `dig`, `nslookup`, `host`, `nc`, `nmap`, `tcpdump`, `traceroute`, `mtr`, `iperf3`, `socat`, `ping`, `telnet`, `ss`, `netstat`, `whois` |\n| Storage | `tridentctl`, `nfs-common`, `rsync`, `ssh`, `tar`, `zip`, `unzip` |\n| Scripting | Python 3, `kubernetes`, `requests`, `PyYAML`, `Jinja2`, `click`, `SQLAlchemy` |\n\n## SELinux utilities offline bundle\n\nCreate a host-installable tarball of SELinux utilities and dependency `.deb` packages from an internet-connected Ubuntu/Debian build host:\n\n```bash\nmake selinux-bundle\n```\n\nCopy the generated `dist/selinux-utils-bundle/*.tar.gz` to the air-gapped target, extract it, and run:\n\n```bash\n./install-selinux-utils.sh\n```\n\n## Documentation\n\n| Document | Purpose |\n|---|---|\n| [QUICKSTART.md](QUICKSTART.md) | Fast deployment and validation |\n| [TOOLS-REFERENCE.md](TOOLS-REFERENCE.md) | Tool inventory and version matrix |\n| [SELINUX-UTILITIES.md](SELINUX-UTILITIES.md) | SELinux/audit tooling and air-gap package bundle guide |\n| [POSTGRESQL-DIAGNOSTICS.md](POSTGRESQL-DIAGNOSTICS.md) | PostgreSQL troubleshooting runbook |\n| [KEYCLOAK-GUIDE.md](KEYCLOAK-GUIDE.md) | Keycloak CLI usage in the default toolbox container |\n| [RECOMMENDED-TOOLS.md](RECOMMENDED-TOOLS.md) | Implemented and future tooling roadmap |\n| [OFFLINE-DEPLOYMENT.md](OFFLINE-DEPLOYMENT.md) | Air-gapped bundle workflow |\n| [MAKEFILE.md](MAKEFILE.md) | Build system notes |\n| [SBOM.md](SBOM.md) | SBOM and supply-chain notes |\n| [docs/NERDCTL-GUIDE.md](docs/NERDCTL-GUIDE.md) | Container runtime guidance |\n| [CHANGELOG.md](CHANGELOG.md) | Release history |\n\n## Build and offline bundle\n\n```bash\nmake info\nmake build-image\nmake offline-bundle\nmake selinux-bundle\n```\n\nThe offline bundle includes the image tarball, packaged Helm chart, deployment scripts, SBOM text output, checksums, and docs. The SELinux utilities bundle is a separate host-installable `.deb` tarball.\n\n## Security posture\n\nThis toolbox is powerful. Treat it as privileged operational tooling even though the main container runs as non-root. Use Kubernetes Secrets, short-lived tokens, restricted service accounts, and namespace-scoped RBAC wherever possible. Remove the deployment when troubleshooting is complete in sensitive environments.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcantrellr%2Fk8s-ultimate-toolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcantrellr%2Fk8s-ultimate-toolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcantrellr%2Fk8s-ultimate-toolbox/lists"}