{"id":13902721,"url":"https://github.com/iximiuz/kexp","last_synced_at":"2025-04-12T19:44:27.584Z","repository":{"id":197195493,"uuid":"698123157","full_name":"iximiuz/kexp","owner":"iximiuz","description":"k'exp - Kubernetes Explorer","archived":false,"fork":false,"pushed_at":"2024-05-16T09:35:54.000Z","size":9002,"stargazers_count":879,"open_issues_count":5,"forks_count":38,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-03T22:08:49.389Z","etag":null,"topics":["go","kubernetes","kubernetes-visualization","vue"],"latest_commit_sha":null,"homepage":"https://labs.iximiuz.com/playgrounds?category=kubernetes","language":"TypeScript","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/iximiuz.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}},"created_at":"2023-09-29T07:56:48.000Z","updated_at":"2025-04-01T04:33:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"3d5b939e-210e-4034-9785-a2aa54255248","html_url":"https://github.com/iximiuz/kexp","commit_stats":null,"previous_names":["iximiuz/kexp"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iximiuz%2Fkexp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iximiuz%2Fkexp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iximiuz%2Fkexp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iximiuz%2Fkexp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iximiuz","download_url":"https://codeload.github.com/iximiuz/kexp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625479,"owners_count":21135512,"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":["go","kubernetes","kubernetes-visualization","vue"],"created_at":"2024-08-06T22:01:20.610Z","updated_at":"2025-04-12T19:44:27.554Z","avatar_url":"https://github.com/iximiuz.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# k'exp - Kubernetes Explorer\n\nUnderstand Kubernetes - the visual way.\nNot yet another attempt to manage production clusters in the browser.\n\nk'exp is for:\n\n- Learning and exploring Kubernetes capabilities\n- Application development (object graph _presets_ for every app)\n- Controller and operator development (dynamic object graphs)\n- [coming soon] Postman-like client and request builder for Kubernetes API\n\nk'exp can reflect the state of your cluster in real-time:\n\n![k'exp in action](./assets/images/kexp-cluster-changes.gif)\n\nk'exp can also give you a quick overview of \"related\" objects:\n\n![k'exp in action](./assets/images/kexp-preset-related-objects.gif)\n\n...as well as show object-specific insights:\n\n![k'exp in action](./assets/images/kexp-pod-insights-min.png)\n\n## In the wild\n\nYou can try k'exp at every [Kubernetes Playground](https://labs.iximiuz.com/playgrounds?category=kubernetes) on iximiuz Labs.\nSome tutorials also use k'exp to visualize Kubernetes objects and their relationships:\n\n- [Making Sense Out of Native Sidecar Containers in Kubernetes](https://labs.iximiuz.com/tutorials/kubernetes-native-sidecars)\n\nYou can also find [a few short demos on YouTube](https://www.youtube.com/playlist?list=PL3ea3TG5uHXhzzk9gK4oNQk14lYyxdxPx).\n\n\n## Installation\n\nGrab the latest release from GitHub:\n\n```sh\nGOOS=linux\nGOARCH=amd64\n\ncurl -Ls https://github.com/iximiuz/kexp/releases/latest/download/kexp_${GOOS}_${GOARCH}.tar.gz | tar xvz\n\nsudo mv kexp /usr/local/bin\n```\n\nAt the moment, the only system `kexp` is actively tested on is Linux amd64,\nbut builds for Darwin amd64/arm64 and Linux arm64 are also available.\n\n\n## Usage\n\nIt's a statically linked Go binary with an embedded UI.\nIf you already have `kubectl` configured to access your cluster(s),\nyou can run `kexp` too - it uses the same `KUBECONFIG` discovery logic.\n\nBy default, `kexp` starts a server on `localhost:5173`:\n\n```sh\nkexp\n\nopen localhost:5173\n```\n\nAlternatively, you can specify a custom address:\n\n```sh\nkexp --host 0.0.0.0 --port 8090\n```\n\n\n## How it works\n\n`kexp` is a daemon that uses the local `KUBECONFIG` to access Kubernetes API.\nThus, it's as powerful (and potentially **destructive!**) as your `kubectl` can get.\nThe daemon lists Kubernetes API resources and objects,\nmay start a bunch of watchers for the objects of interest,\nand even delete objects if you ask it to (via the UI).\nThe UI is a single-page application written in TypeScript and Vue and embedded into the daemon binary.\n\n\n## Development\n\nPre-requisites:\n\n```sh\ngo install github.com/golangci/golangci-lint/cmd/golangci-lint@latest\n\ncd ui\nnpm install\n\n# Optional\nkind create cluster\n# ...or\nminikube start\n```\n\nRunning the dev server and the UI is easy:\n\n```sh\n# In terminal 1\nmake back-run-dev\n\n# In terminal 2\nmake front-run-dev\n```\n\nAfter that, you can access the UI at `http://localhost:5173`.\n\n\n## Contributing\n\nContributions are welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiximiuz%2Fkexp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiximiuz%2Fkexp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiximiuz%2Fkexp/lists"}