KO
|
EN
gitlite — search
Search
#ai-agents
#typescript
#llm
#python
#claude-code
#ai
#mcp
#cli
#developer-tools
#claude
#macos
#rust
kubectl-ipick
★ 30
Open GitHub ↗
Interactive plugin for kubectl
Download README (.md)
Explore Similar Repositories
TechGames
:
TechGames is a complete gaming news portal to stay on top of everything in the gaming world.
FastMathTests
:
Test some fast math functions
partition
:
A small library for generating markdown tables
image-deblurring-using-deep-learning
:
PyTorch implementation of image deblurring using deep learning. Use a simple convolutional autoencoder neural network to deblur Gaussian blurred images.
twitch-chicasprog-recursos
:
Recursos para que sigas aprendiendo después de un bootcamp
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
kubectl-ipick
?
Download (.md)
  # kubectl-ipick A kubectl plugin that is easy-to-use, flexible, and interactive You will have the ability to roam around the Kubernetes world with a blazing fast selection menu # Introduction Let's say we'd like to edit a resource in kubernetes using native kubectl and compare it to using kubectl-ipick. First, we'll start by trying to filter out by the relevant resource type and identify the correct resource. So we'll run: ```kubectl get configmap``` In some cases, we just noticed it's not the right namespace, so we'll run again: ```kubectl get configmap -n <namespace>``` Then, we'll need to go over the list, identify our resource and copy the resource ID and trigger edit command. ```kubectl edit configmap <configmap_id> -n <namespace>``` This is basically what we need to do for every single resource in our cluster as resource IDs keeps changing. Instead, we'll leverage kubectl-ipick to minimize the number of operations. In order to modify a single resource with a single operation, we can run: ```kubectl ipick edit configmap --all-namespaces``` This command will query all namespaces and present a list for us to pick from, once we've chosen the right resource, the plugin will run the command we've passed as argument (edit). And we're done! ``` ➜ kubectl ipick edit configmap --all-namespaces ID NAME NAMESPACE 1 cluster-info kube-public 2 coredns kube-system 3 nginx kube-system select configmap from the list: ``` You can even use the "like" filter on top of the list to show only resources that contains the supplied string. ``` ➜ ~ kubectl ipick describe configmap --all-namespaces --like nginx ID NAME NAMESPACE 1 nginx kube-system 2 nginx-load-balancer-conf kube-system select configmap from the list: ``` Recommendation: make an alias to kubectl ipick to increase the speed of your work even more! ```alias kp='kubectl ipick'``` kubectl-ipick makes our day to day work with kubectl much more faster by listing the resources you wish to edit within a single command.  # Installation ### Via krew Installation via krew (https://github.com/GoogleContainerTools/krew) ``` kubectl krew install ipick ``` ### Manual Supported OS ``` # Linux export OS=Linux # Mac export OS=Darwin # Windows export OS=Windows ``` Execute: ``` # Get the latest kubectl ipick version TAG=$(curl --silent "https://api.github.com/repos/similarweb/kubectl-ipick/releases/latest" |grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/') ``` ``` # Download the relevant OS version of the plugin curl -L https://github.com/similarweb/kubectl-ipick/releases/download/v${TAG}/kubectl-ipick_v${TAG}_${OS:-Linux}_x86_64.tar.gz | tar xz && chmod +x kubectl-ipick && mv kubectl-ipick /usr/local/bin ``` ``` # Make your life easier and... # Add the following Alias to your .bashrc|.zshrch|.bash_profile # Run kubectl ipick plugin on all namespaces alias kp='f(){ kubectl ipick "$@" ; unset -f f; }; f' ``` # Usage ``` ➜ kubectl ipick --help Kubectl-ipick is an interactive kubectl plugin which wraps kubectl commands. Examples: # Print an interactive list of namespaces and describe the chosen one kubectl ipick describe namespaces # Print an interactive list of pods filtered by --like <filter> and describe the chosen one kubectl ipick describe pods --like nginx # Print an interactive list of configmap filtered by -n <namespace> and edit the chosen one kubectl ipick edit configmap -n kube-system # Print an interactive list of pods filtered by --like <filter> and -- <exec extra flags> and exec the chosen one kubectl ipick exec --like nginx -- -it bash # Print an interactive list of pods filtered by --like <filter> and -- <exec extra flags> and show the chosen pod logs kubectl ipick logs --like nginx -- -f # Print an interactive list of deployments and delete the chosen one kubectl ipick delete deployment Usage: ipick command [resource name] [flags] ipick [command] Available Commands: help Help about any command version Print the kubectl-ipick version Flags: -A, --all-namespaces If present, list the requested object(s) across all namespaces -h, --help help for ipick --kubeconfig-path string By default the configuration will take from ~/.kube/config unless the flag is present -l, --like string If present, the requested resources response will be filter by given value -v, --log-level string log level (trace|debug|info|warn|error|fatal|panic) (default "error") -n, --namespace string If present, the namespace scope for this CLI request -r, --random If present, one of the resources will select automatically -s, --select-cluster Select cluster from .kube config file Use "ipick [command] --help" for more information about a command. ``` # Contributing All pull requests and issues are more than welcome! Please see [Contribution guidelines](./CONTRIBUTING.md).