konfig
konfig copied to clipboard
konfig helps to merge, split or import kubeconfig files
konfig
konfig helps to merge, split or import kubeconfig files
Usage
Import a kubeconfig
konfig import --save new-cfg
Imports the config file new-cfg into the default kubeconfig at ~/.kube/config.
To show the result without changing your kubeconfig, do
konfig import new-cfg
CAVEAT: due to how shells work, the following will lose your current ~/.kube/config
# WRONG, don't do this!
konfig import new-cfg > ~/.kube/config
Merge several kubeconfig files
konfig merge config1 config2 > merged-config
This variant creates a self-contained kubeconfig where all credentials are stored inline in the kubeconfig.
If you want to preserve the structure and keep credentials separate, use --preserve-structure.
Extract a minimal kubeconfig for one or several contexts
This will extract a minimal kubeconfig with a single context minikube:
# extract context minikube from the default kubeconfig
konfig export minikube > minikube.config
# extract context minikube and docker-for-desktop from two input configs
konfig export minikube docker-for-desktop -k ~/.kube/other,~/dockercfg > local
Installation
There are several ways to install konfig.
The recommended installation method is via krew.
Via krew
Krew is the kubectl plugin manager. If you have not yet installed krew, get it at
https://github.com/kubernetes-sigs/krew.
Then installation is as simple as
kubectl krew install konfig
The plugin will be available as kubectl konfig, see doc/USAGE for further details. You could also define an alias as well: alias konfig = 'kubectl konfig'
Manual
When using the binaries for installation, also have a look at USAGE.
OSX & Linux
curl -Lo konfig https://github.com/corneliusweig/konfig/raw/v0.2.6/konfig \
&& chmod +x konfig \
&& sudo mv -i konfig /usr/local/bin
Feel free to change the sudo mv to put konfig in some other location from your $PATH variable.
Windows
If you figure out how to run
konfigon Windows, please send a PR with instructions.