{"id":13902984,"url":"https://github.com/kubermatic/fubectl","last_synced_at":"2025-05-15T00:13:06.619Z","repository":{"id":29155573,"uuid":"120358853","full_name":"kubermatic/fubectl","owner":"kubermatic","description":"Reduces repetitive interactions with kubectl","archived":false,"fork":false,"pushed_at":"2025-04-30T14:20:52.000Z","size":1320,"stargazers_count":907,"open_issues_count":10,"forks_count":63,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-04-30T15:35:58.303Z","etag":null,"topics":["cli","kubectl","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Go","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/kubermatic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","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":"2018-02-05T20:39:20.000Z","updated_at":"2025-04-30T14:20:56.000Z","dependencies_parsed_at":"2023-02-14T07:01:32.758Z","dependency_job_id":"d49fbd53-1f08-438f-9bf2-0a3dbf2e05d4","html_url":"https://github.com/kubermatic/fubectl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubermatic%2Ffubectl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubermatic%2Ffubectl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubermatic%2Ffubectl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubermatic%2Ffubectl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubermatic","download_url":"https://codeload.github.com/kubermatic/fubectl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254249206,"owners_count":22039029,"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":["cli","kubectl","kubernetes"],"created_at":"2024-08-06T22:01:32.458Z","updated_at":"2025-05-15T00:13:01.604Z","avatar_url":"https://github.com/kubermatic.png","language":"Go","readme":"# fubectl\nBecause it's fancy-kubectl !\n\n## Prerequisites?\n* [fzf](https://github.com/junegunn/fzf)\n* [kubectl](https://github.com/kubernetes/kubernetes)\n* [kubectl tree](https://github.com/ahmetb/kubectl-tree)\n* [kubectl neat](https://github.com/itaysk/kubectl-neat) - only for kexp to work\n* [jq](https://stedolan.github.io/jq/)\n\n## Installation\n\nYou can directly download the [`fubectl.source`](https://rawgit.com/kubermatic/fubectl/main/fubectl.source)\nand save it in some directory.\n\nDownload:\n```bash\ncurl -LO https://rawgit.com/kubermatic/fubectl/main/fubectl.source\n```\n\nthen add to your .bashrc/.zshrc file:\n```bash\n[ -f \u003cpath-to\u003e/fubectl.source ] \u0026\u0026 source \u003cpath-to\u003e/fubectl.source\n```\n\nAlternatively you can install fubectl using the ZSH plugin manager of your\nchoice.\n\n## What can it do?\n\n### `k` – alias for kubectl\n\nLike g for git but 233% more effective!\n\nExamples:\n - `k get nodes`\n - `k get pods`\n - `k version --short`\n\nUsage:\n![kGif](./demo_src/k.gif)\n\n---\n\n### `kw` – alias for 'watch kubectl'\n\nExamples:\n - `kw nodes`\n - `kw pods`\n - `kw nodes,pods,services`\n\n---\n\n### `kall` – All pods in all namespaces\n\nGet all pods\n\nUsage:\n![kGif](./demo_src/kall.gif)\n\n---\n\n### `kwall` – Watch all pods in all namespaces\n\nWatch all pods in all namespaces every 2 seconds.\n\nUsage:\n![kGif](./demo_src/kwall.gif)\n\n---\n\n### `kdes` – Describe a resource\n\nExamples:\n- `kdes pod`\n- `kdes service`\n- `kdes nodes`\n\nUsage:\n![kGif](./demo_src/kdes.gif)\n\n---\n\n### `kdel` – Delete a resource\n\nExamples:\n- `kdel pod`\n- `kdel secret`\n- `kdel pvc`\n\nUsage:\n![kGif](./demo_src/kdel.gif)\n\n---\n\n### `klog` – Print the logs for a container in a pod\n\nExamples:\n- `klog` - Print the last 10 lines\n- `klog 100` - Print the last 100 lines\n- `klog 250 -f` - Print the last 250 lines and follow the output, like `tail -f`\n- `klog 50 -p` - Print the last 50 lines of the previous container\n\nUsage:\n![kGif](./demo_src/klog.gif)\n\n---\n\n### `kex` – Execute a command in a container\n\nExamples:\n- `kex bash` - Start a bash in a container\n- `kex date` - Print the date in a container\n\nUsage:\n![kGif](./demo_src/kex.gif)\n\n---\n\n### `kfor` – Forward one or more local ports to a pod\n\nExamples:\n- `kfor 8000` - Forwards port 8000 to a pod\n- `kfor 8000:80` Fowards local port 8000 to a pod's port 80\n\nUsage:\n![kGif](./demo_src/kfor.gif)\n\n---\n\n### `ksearch` – Search for string in resources\n\nExamples:\n- `// TODO`\n\nUsage:\n![kGif](./demo_src/ksearch.gif)\n\n---\n\n### `kcl` – Displays one or many contexts from the kubeconfig file\n\nContext list\n\nUsage:\n![kGif](./demo_src/kcl.gif)\n\n---\n\n### `kcs` – Sets the current context\n\nUsage:\n![kGif](./demo_src/kcs.gif)\n\n---\n\n### `kcns` – Switch the default namespace\n\n`kcns` - Set the current default namespace from list\n`kcns kube-system` - Set kube-system as default namespace immediately\n\nUsage:\n![kGif](./demo_src/kcns.gif)\n---\n\n### `kdebug` – Start a debugging Pod in a Cluster\n\nUsage:\n![kGif](./demo_src/kdebug.gif)\n\n---\n\n### `kp` – Open the Kubernetes dashboard\n\nOpens `localhost:8001/ui` in your browser and runs `kubectl proxy`\n\n---\n\n## Extra!\n\nDo you want to have the current kubecontext in your prompt?:\n```bash\nexport PS1=\"\\[$(kube_ctx_name)\\] $PS1\"\n```\n\nfor the current namespace (this is currently slow, because it calls kubectl every time):\n```bash\nexport PS1=\"\\[$(kube_ctx_namespace)\\] $PS1\"\n```\n\n## Customization\n\n`fubectl` can be customized via following environment variables\n\n* `FUBECTL_WATCH_CMD` – alterative `watch` command, e.g. [viddy](https://github.com/sachaos/viddy)\n* `FUBECTL_NO_KCL` – disable `kcl` alias, since it may conflict with [KCL language CLI](https://www.kcl-lang.io/)\n\n## Troubleshooting\n\nIf you encounter issues [file an issue][1] or talk to us on the [#fubectl channel][12] on the [Kubermatic Slack][15].\n\n## Contributing\n\nThanks for taking the time to join our community and start contributing!\n\nFeedback and discussion are available on [Kubermatic Slack][15].\n\n### Before you start\n\n* Please familiarize yourself with the [Code of Conduct][4] before contributing.\n* See [CONTRIBUTING.md][2] for instructions on the developer certificate of origin that we require.\n\n### Pull requests\n\n* We welcome pull requests. Feel free to dig through the [issues][1] and jump in.\n\n[1]: https://github.com/kubermatic/fubectl/issues\n[2]: https://github.com/kubermatic/fubectl/blob/main/CONTRIBUTING.md\n[4]: https://github.com/kubermatic/fubectl/blob/main/code-of-conduct.md\n\n[12]: https://kubermatic.slack.com/messages/fubectl\n[15]: http://slack.kubermatic.io/\n","funding_links":[],"categories":["Go","cli","\u003ca name=\"k8s\"\u003e\u003c/a\u003ek8s","Developer Workspaces \u0026 Productivity"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubermatic%2Ffubectl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubermatic%2Ffubectl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubermatic%2Ffubectl/lists"}