kube-prompt
An interactive kubernetes client featuring auto-complete using go-prompt.
![demo](https://github.com/c-bata/assets/raw/master/kube-prompt/kube-prompt.gif)
Installation
Binary installation (Recommended)
Binaries are available from github release.
# macOS (darwin)
curl -L https://github.com/c-bata/kube-prompt/releases/download/v1.0.0/kube-prompt_v1.0.0_darwin_amd64.zip
unzip kube-prompt_v1.0.0_darwin_amd64.zip
# Linux
curl -L https://github.com/c-bata/kube-prompt/releases/download/v1.0.0/kube-prompt_v1.0.0_linux_amd64.zip
unzip kube-prompt_v1.0.0_linux_amd64.zip
# After that please put executable to your PATH:
chmod +x kube-prompt
sudo mv ./kube-prompt /usr/local/bin/kube-prompt
Build from source
$ go get -u github.com/golang/dep/cmd/dep
$ dep ensure # download dependency package
$ go build .
To create a multi-platform binary, use the cross command via make:
$ make cross
Usage
kube-prompt accepts the same commands as the kubectl, except you don't need to provide the kubectl
prefix.
So it doesn't require the additional cost to use this cli.
![usage](https://github.com/c-bata/assets/raw/master/kube-prompt/usage.png)
And you can integrate other commands via pipe (|
).
>>> get pod | grep web
web-1144924021-2spbr 1/1 Running 4 25d
web-1144924021-5r1fg 1/1 Running 4 25d
web-1144924021-pqmfq 1/1 Running 4 25d
Goal
Hopefully support following commands enough to operate kubernetes.
-
get
Display one or many resources
-
describe
Show details of a specific resource or group of resources
-
create
Create a resource by filename or stdin
-
replace
Replace a resource by filename or stdin.
-
patch
Update field(s) of a resource using strategic merge patch.
-
delete
Delete resources by filenames, stdin, resources and names, or by resources and label selector.
-
edit
Edit a resource on the server
-
apply
Apply a configuration to a resource by filename or stdin
-
namespace
SUPERSEDED: Set and view the current Kubernetes namespace
-
logs
Print the logs for a container in a pod.
-
rolling-update
Perform a rolling update of the given ReplicationController.
-
scale
Set a new size for a Deployment, ReplicaSet, Replication Controller, or Job.
-
cordon
Mark node as unschedulable
-
drain
Drain node in preparation for maintenance
-
uncordon
Mark node as schedulable
-
attach
Attach to a running container.
-
exec
Execute a command in a container.
-
port-forward
Forward one or more local ports to a pod.
-
proxy
Run a proxy to the Kubernetes API server
-
run
Run a particular image on the cluster.
-
expose
Take a replication controller, service, or pod and expose it as a new Kubernetes Service
-
autoscale
Auto-scale a Deployment, ReplicaSet, or ReplicationController
-
rollout
rollout manages a deployment
-
label
Update the labels on a resource
-
annotate
Update the annotations on a resource
-
config
config modifies kubeconfig files
-
cluster-info
Display cluster info
-
api-versions
Print the supported API versions on the server, in the form of "group/version".
-
version
Print the client and server version information.
-
explain
Documentation of resources.
-
convert
Convert config files between different API versions
Author
Masashi Shibata
LICENSE
This software is licensed under the MIT License (See LICENSE).