Konfig
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.