Khelp(er)
A user-friendly CLI tool to manage Kubernetes contexts with ease.
Features
- 🔍 List all available Kubernetes contexts
- 👁️ View the current active context with details
- 🔄 Switch between contexts with interactive selection
- ✏️ Edit context configurations with your preferred editor
- 📤 Export specific contexts for sharing or backup
Installation
From Cargo
Usage
Overview
)
List
View all available Kubernetes contexts in your configuration:
Example output:
Kubernetes available contexts:
------------------------
* minikube
production
staging
development
Current
Display details about the currently active context:
Example output:
Current context: minikube
Cluster: minikube
User: minikube
Namespace: default
Switch
Switch to a different context:
This will display an interactive menu to select the target context. You can also specify the context directly:
Edit
Open a context configuration in your default editor:
Or specify a context to edit:
The tool will open your default editor (defined by $EDITOR or $VISUAL environment variables) with the context configuration. Changes are automatically saved back to your Kubernetes config file with a backup created.
Export
Export a specific context configuration to stdout:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: example
server: https://192.168.64.2:8443
name: dev
contexts:
- context:
cluster: dev
user: dev-user
namespace: default
name: dev
current-context: dev
kind: Config
preferences:
users:
- name: dev-user
user:
client-certificate-data: example
client-key-data: example
This is useful for sharing configurations or creating backups of specific contexts.
Environment Variables
EDITORorVISUAL: Specifies the editor to use when editing context configurations (defaults tovion Unix systems andnotepadon Windows)
How It Works
Khelp interacts with your Kubernetes configuration file (typically located at ~/.kube/config). When making changes, it automatically creates a backup of your original configuration file with a .bak extension.
License
This project is licensed under the MIT License - see the LICENSE file for details.