{"id":27323494,"url":"https://github.com/canopytax/ckube","last_synced_at":"2025-04-12T10:47:56.392Z","repository":{"id":47158806,"uuid":"111156384","full_name":"CanopyTax/ckube","owner":"CanopyTax","description":"A cli to simplify working with kubectl for some common workflows","archived":false,"fork":false,"pushed_at":"2021-09-10T16:35:42.000Z","size":2150,"stargazers_count":133,"open_issues_count":3,"forks_count":10,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-12T02:11:22.729Z","etag":null,"topics":["cli","common-workflows","containers","golang","hightower-approved","kubectl","kubernetes","kubernetes-monitoring","logs","pod"],"latest_commit_sha":null,"homepage":"","language":"Go","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/CanopyTax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-17T22:22:25.000Z","updated_at":"2024-11-28T04:43:57.000Z","dependencies_parsed_at":"2022-08-28T19:02:37.778Z","dependency_job_id":null,"html_url":"https://github.com/CanopyTax/ckube","commit_stats":null,"previous_names":["devonmoss/ckube"],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CanopyTax%2Fckube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CanopyTax%2Fckube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CanopyTax%2Fckube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CanopyTax%2Fckube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CanopyTax","download_url":"https://codeload.github.com/CanopyTax/ckube/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248557883,"owners_count":21124165,"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","common-workflows","containers","golang","hightower-approved","kubectl","kubernetes","kubernetes-monitoring","logs","pod"],"created_at":"2025-04-12T10:47:55.764Z","updated_at":"2025-04-12T10:47:56.387Z","avatar_url":"https://github.com/CanopyTax.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Concurrent kubectl\n![Kelsey Hightower Approved!](https://img.shields.io/badge/Hightower-approved-blue.svg) [![Build Status](https://travis-ci.org/CanopyTax/ckube.svg?branch=master)](https://travis-ci.org/CanopyTax/ckube) [![Go Report Card](https://goreportcard.com/badge/github.com/CanopyTax/ckube)](https://goreportcard.com/report/github.com/CanopyTax/ckube) [![GitHub release](https://img.shields.io/github/release/CanopyTax/ckube.svg)](https://github.com/CanopyTax/ckube/releases/latest) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA cli to simplify working with kubectl for some common workflows\n\n#### Installation\nFind the latest binaries [here](https://github.com/canopytax/ckube/releases/) or use `homebrew` on macOS\n```\nbrew tap canopytax/ckube\nbrew install ckube\n```\n\n#### Usage\n```$xslt\n$ ckube\nA CLI to simplify working with kubectl.\n\nUsage:\n  ckube [command]\n\nAvailable Commands:\n  deployment  Get information about deployments\n  exec        execute a command in a container\n  help        Help about any command\n  logs        get logs from a service\n  ls          Interactive list of pods\n  nodes       Lists pods grouped by node\n  service     Interactive view of your services\n  top         View cpu and memory usage for pods\n\nFlags:\n      --context string      the kubernetes context (defaults to value currently used by kubectl)\n  -h, --help                help for ckube\n      --kubeconfig string   path to kubeconfig file to use for CLI requests (defaults to $KUBECONFIG or $HOME/.kube/config)\n  -l, --labels string       Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)\n  -n, --namespace string    the kubernetes namespace (defaults to value currently used by kubectl)\n\nUse \"ckube [command] --help\" for more information about a command.\n\n```\n\nTargeting pods can be burdensome (i.e. in a deployment with replicas). If a k8s cluster has a service called `nginx` you could have several pods which might be named something like this:\n```$xslt\nnginx-3528986049-kpd4z\nnginx-3528986049-71s10\nnginx-3528986049-f6mwf\nnginx-3528986049-ltx6j\nnginx-3528986049-m3cmm\nnginx-3528986049-h8cnn\nnginx-3528986049-6v4c1\n```\n\nGetting logs for the nginx service is easy with `ckube`\n```\n# single uspecified nginx pod:\nckube logs nginx\n\n# all nginx pods\nckube logs nginx -a\n\n# follow the logs\nckube logs nginx -f\n```\n![](https://github.com/canopytax/ckube/blob/master/images/logs.gif?raw=true)\n\nSimilar concurrent functionality exists for `exec`\n![](https://github.com/canopytax/ckube/blob/master/images/exec.gif?raw=true)\n\n![](https://github.com/canopytax/ckube/blob/master/images/complex-exec.gif?raw=true)\n\nYou can toggle through your services and see the associated pods. `ckube service`\n![](https://github.com/canopytax/ckube/blob/master/images/services.gif?raw=true)\n\nYou can use `ckube nodes` to show which pods are running on each node\n[![asciicast](https://asciinema.org/a/150564.png)](https://asciinema.org/a/150564)\n\nGet an interactive view of your pods with `ckube ls`. You can further refine the prompt results by searching using `/`. Selecting a pod will print detailed pod information returned by `kubectl describe`\n![](https://github.com/canopytax/ckube/blob/master/images/list-interactive.gif?raw=true)\n\nRead the blog post about `ckube` [here](https://devonmoss.com/concurrent-kubectl)\n\n#### Contributing\nPR's accepted\n\nIf you are looking to build the project or would like to contribute:\n```$xslt\ngo get -d github.com/canopytax/ckube\ncd $GOPATH/src/github.com/canopytax/ckube\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanopytax%2Fckube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcanopytax%2Fckube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanopytax%2Fckube/lists"}