Crates.io | korrect |
lib.rs | korrect |
version | 0.0.3 |
source | src |
created_at | 2024-11-27 00:06:05.659643 |
updated_at | 2024-12-01 18:28:03.796064 |
description | A kubectl version managing shim that invokes the correct kubectl version ☸ |
homepage | |
repository | https://gitlab.com/cromulentbanana/korrect/ |
max_upload_size | |
id | 1462453 |
size | 104,466 |
A CLI tool to manage (and optionally fetch) multiple different versions of kubectl by providing a shim layer on top of kubectl. Based on the current k8s context, the correct kubectl version will automatically be invoked. Correct Kubetctl. Korrect.
Witness the miracle of never again needlessly being admonished: version difference between client (1.31) and server (1.29) exceeds the supported minor version skew of +/-1
k
and kubectl
)korrect setup --uninstall
.git clone https://gitlab.com/cromulentbanana/korrect.git
cd korrect
cargo install --path .
cargo install korrect
korrect setup
export PATH="$HOME/.korrect/bin:$PATH"
# Set up korrect
korrect setup
# List installed components
korrect list
# Generate shell completions (replace `zsh` with your shell)
korrect completions zsh
The setup command supports several flags to customize installation:
# Force installation (overwrite existing files)
korrect setup --force
# Uninstall korrect
korrect setup --uninstall
After installation, korrect creates the following directory structure:
~/
├──.cache/korrect/ # The contents of the active kubeconfig are hashed to reference
├ # the version-specific kubectl belonging to it
└──.korrect/bin/
├── k # Symlink to kubectl-shim
├── kubectl # Symlink to kubectl-shim
├── kubectl-shim # The executable which dispatches specific kubectl versions
├── kubectl-vA.B.C # Binary auto-downloaded by kubectl-shim or placed here by you
└── kubectl-vX.Y.Z # Binary auto-downloaded or kubectl-shim or placed here by you
Coming Soon: Configuration files can be placed in ~/.config/korrect/config.toml
. Example configuration:
[korrect]
key = value
[korrect-shim]
korrect_dir = ~/.some_other_dir
auto_download = true
korrect supports shell completions for various shells. To enable completions:
# For bash
korrect completions bash > ~/.local/share/bash-completion/completions/korrect
# For zsh
korrect completions zsh > ~/.zfunc/_korrect
# For fish
korrect completions fish > ~/.config/fish/completions/korrect.fish
Remember to source your shell's completion file or restart your shell.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)