MCPcopy Index your code
hub / github.com/CanopyTax/ckube

github.com/CanopyTax/ckube @v1.0.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.2 ↗ · + Follow
63 symbols 169 edges 15 files 1 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Concurrent kubectl

Kelsey Hightower Approved! Build Status Go Report Card GitHub release License: MIT

A cli to simplify working with kubectl for some common workflows

Installation

Find the latest binaries here or use homebrew on macOS

brew tap canopytax/ckube
brew install ckube

Usage

```$xslt $ ckube A CLI to simplify working with kubectl.

Usage: ckube [command]

Available Commands: deployment Get information about deployments exec execute a command in a container help Help about any command logs get logs from a service ls Interactive list of pods nodes Lists pods grouped by node service Interactive view of your services top View cpu and memory usage for pods

Flags: --context string the kubernetes context (defaults to value currently used by kubectl) -h, --help help for ckube --kubeconfig string path to kubeconfig file to use for CLI requests (defaults to $KUBECONFIG or $HOME/.kube/config) -l, --labels string Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2) -n, --namespace string the kubernetes namespace (defaults to value currently used by kubectl)

Use "ckube [command] --help" for more information about a command.


Targeting 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:
```$xslt
nginx-3528986049-kpd4z
nginx-3528986049-71s10
nginx-3528986049-f6mwf
nginx-3528986049-ltx6j
nginx-3528986049-m3cmm
nginx-3528986049-h8cnn
nginx-3528986049-6v4c1

Getting logs for the nginx service is easy with ckube

# single uspecified nginx pod:
ckube logs nginx

# all nginx pods
ckube logs nginx -a

# follow the logs
ckube logs nginx -f

Similar concurrent functionality exists for exec

You can toggle through your services and see the associated pods. ckube service

You can use ckube nodes to show which pods are running on each node asciicast

Get 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

Read the blog post about ckube here

Contributing

PR's accepted

If you are looking to build the project or would like to contribute: $xslt go get -d github.com/canopytax/ckube cd $GOPATH/src/github.com/canopytax/ckube

Core symbols most depended-on inside this repo

K8sCommandArgs
called by 7
util/k8s.go
RawK8sOutput
called by 6
util/k8s.go
RawK8sOutputString
called by 5
util/k8s.go
RunCommand
called by 5
util/cmd.go
GetPods
called by 4
util/k8s.go
Relative
called by 3
util/age.go
GetPrefix
called by 3
util/color.go
Append
called by 3
util/output.go

Shape

Function 41
Method 13
Struct 9

Languages

Go100%

Modules by API surface

util/k8s.go15 symbols
util/output.go7 symbols
cmd/nodes.go7 symbols
cmd/service.go6 symbols
util/color.go5 symbols
cmd/deployment.go5 symbols
util/prompt.go4 symbols
util/cmd.go3 symbols
cmd/root.go3 symbols
util/age.go2 symbols
cmd/logs.go2 symbols
main.go1 symbols

For agents

$ claude mcp add ckube \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact