khelp 0.1.0

A tool for managing kubernetes contexts
khelp-0.1.0 is not a library.
Visit the last successful build: khelp-0.1.15

Khelp(er)

Crates.io License: MIT

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

cargo install khelp

Usage

Overview

khelp --help
A tool to manage Kubernetes contexts

Usage: khelp [COMMAND]

Commands:
  list     List all available contexts
  current  Get the current context
  switch   Switch to a different context
  edit     Edit a specific context
  export   Export a specific context to stdout (can be redirected to a file)
  help     Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

List

View all available Kubernetes contexts in your configuration:

khelp list

Example output:

Kubernetes available contexts:
------------------------
* minikube
  production
  staging
  development

Current

Display details about the currently active context:

khelp current

Example output:

Current context: minikube
  Cluster: minikube
  User: minikube
  Namespace: default

Switch

Switch to a different context:

khelp switch

This will display an interactive menu to select the target context. You can also specify the context directly:

khelp switch production

Edit

Open a context configuration in your default editor:

khelp edit

Or specify a context to edit:

khelp edit staging

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:

khelp export production > production-context.yaml
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

  • EDITOR or VISUAL: Specifies the editor to use when editing context configurations (defaults to vi on Unix systems and notepad on 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.