k8s-kx

Crates.iok8s-kx
lib.rsk8s-kx
version0.3.0
sourcesrc
created_at2019-09-19 23:43:33.192656
updated_at2019-09-24 21:00:03.409177
descriptionset KUBECONFIG environment variable for current shell session
homepage
repositoryhttps://github.com/jsen-/kx
max_upload_size
id166100
size145,060
(jsen-)

documentation

README

kx

Changes KUBECONFIG environment variable in the current shell

Installation

You can either download compiled binary from releases to a directory in you $PATH or compile it yourself by cargo install k8s-kx. Binaries in releases are build using musl toolchain, therefore they have no external dependencies (not even libc).

Add the following to your .bashrc

alias kx='source <("k8s-kx")'

Usage

$ kx

Configuration

  • $KX_SEARCH_DIR will let you choose KUBECONFIG from this directory
  • $KX_CONFIG_PATH will read configuration from this file (format below)
  • $XDG_CONFIG_HOME/kx/config.json
  • ~/.config/kx/config.json
  • if none of them are found, will search for kubeconfigs in ~/.kube

Config file format

{
    "search_dir": [
        // absolute path
        "/path/to/dir/with/cubeconfigs",
        // will be resolved relative to $PWD
        "path/to/cubeconfigs", 
        // will be resolved relative to this config file
        "./path/to/cubeconfigs",
        // will be resolved relative to home directory
        "~/path/to/cubeconfigs",
        // will try to find first existing directory:
        //   $PWD/path/to/cubeconfigs
        //   $PWD/../path/to/cubeconfigs
        //   $PWD/../../path/to/cubeconfigs
        //   ...
        //   /path/to/cubeconfigs
        "^path/to/cubeconfigs",
    ]
}
Commit count: 19

cargo fmt