A very specific Kubeconfig MANager...
It's simple; kman
helps you in updating (expired) Kubernetes oauth tokens in your kubeconfig.
This way you retain a minimal amount of contexts that you can properly name & identify.
A bit more information on the problem it solves can be found in this issue.
- Make sure you have Rust & Cargo installed: https://www.rust-lang.org/tools/install
- Run
cargo install kman
- You can have "automatic" updates by periodically running
cargo install-update -a
Warning
kman
does not have self-updating capabilities (yet), so you'll have to manually update with new releases
- Download a binary from the releases section.
- Add the binary to your
$PATH
(from kman help
):
A Kubeconfig MANager that allows you to easily refresh oauth tokens
Usage: kman [OPTIONS] [COMMAND]
Commands:
list Lists all contexts
select Select context to use
refresh Refresh context token
remove Remove context(s)
help Print this message or the help of the given subcommand(s)
Options:
-v, --verbose... Increase logging verbosity
-q, --quiet... Decrease logging verbosity
-h, --help Print help
-V, --version Print version
You can specify a Kubeconfig file other than the default ($HOME/.kube/config
) using the KUBECONFIG
environment variable
- Update version number in
Cargo.toml
- Add a new tag & create a Github release
- Update the change log with git-cliff using
git cliff -o CHANGELOG.md
- Run
cargo publish
- CI & releases
- Proper error handling
- Logging
- Tests
- Find easier way to refresh token (less manual actions)
- Incorporate in
brew