Skip to content

Releases: vellankikoti/kcli

kcli v0.4.5 — Exec entry message

Choose a tag to compare

@vellankikoti vellankikoti released this 21 Mar 21:08

kcli v0.4.5 — Exec shell entry message

When using exec in interactive mode, kcli now shows a clear message:

Action: x

→ kcli exec -it -n kube-system kindnet-txkbr -- sh
Entering container shell... (type 'exit' or Ctrl+D to return)

/ #    ← you are now inside the container

Also suppresses the noisy "exit 130" error when you Ctrl+C out of a shell session.

Upgrade

curl -sL https://github.com/vellankikoti/kcli/releases/download/v0.4.5/kcli-darwin-arm64.tar.gz | tar xz
sudo mv kcli /usr/local/bin/

kcli v0.4.4 — Fix exec

Choose a tag to compare

@vellankikoti vellankikoti released this 21 Mar 16:23

kcli v0.4.4 — Fix exec namespace placement

Bug: exec -it pod -- sh -n namespace passed -n namespace as part of the shell command (after --), causing sh: cannot open blue-green-demo: No such file or directory.

Fix: exec -it -n namespace pod -- sh — namespace flag now correctly placed before the -- separator.

Upgrade

curl -sL https://github.com/vellankikoti/kcli/releases/download/v0.4.4/kcli-darwin-arm64.tar.gz | tar xz
sudo mv kcli /usr/local/bin/

kcli v0.4.3 — Stay on Same Resource

Choose a tag to compare

@vellankikoti vellankikoti released this 21 Mar 16:18

kcli v0.4.3 — Stay on Same Resource

Fixed interactive mode flow. After performing an action, you stay on the same resource — no more re-selecting.

$ kcli get pods -i

Select resource [1-7]: 2

  blue-deployment-xxx (blue-green-demo)
  [L] Logs  [D] Describe  [X] Exec  [E] Edit  [P] Port-forward  [DEL] Delete  [Q] Back to list

  Action: l          ← view logs
  (logs output...)
  ─────────────────

  blue-deployment-xxx (blue-green-demo)     ← SAME POD, no re-selection!
  [L] Logs  [D] Describe  [X] Exec  ...

  Action: d          ← now describe same pod
  (describe output...)
  ─────────────────

  Action: q          ← back to resource list
Select resource [1-7]: q    ← exit

Upgrade

curl -sL https://github.com/vellankikoti/kcli/releases/download/v0.4.3/kcli-darwin-arm64.tar.gz | tar xz
sudo mv kcli /usr/local/bin/

kcli v0.4.2 — Interactive Mode Fix

Choose a tag to compare

@vellankikoti vellankikoti released this 21 Mar 13:52

kcli v0.4.2 — Interactive Mode Working

Fixed interactive mode (-i flag) — the full flow now works:

$ kcli get pods -i
╭─────┬───────────────┬──────────────────────┬───────┬──────────────╮
│   # │ NAMESPACE     │ NAME                 │ READY │ STATUS       │
├─────┼───────────────┼──────────────────────┼───────┼──────────────┤
│   1 │ blue-green-d… │ blue-deployment-xxx  │   1/1 │ ✓ Running    │
│   2 │ blue-green-d… │ green-deployment-yyy │   1/1 │ ✓ Running    │
╰─────┴───────────────┴──────────────────────┴───────┴──────────────╯

Select resource [1-2] (q=quit): 1

  blue-deployment-xxx (blue-green-demo)
  [L] Logs  [D] Describe  [X] Exec  [E] Edit  [P] Port-forward  [DEL] Delete  [Q] Back

  Action: d
  → kcli describe pod/blue-deployment-xxx -n blue-green-demo
  (full describe output)

Select resource [1-2] (q=quit): 

Upgrade

curl -sL https://github.com/vellankikoti/kcli/releases/download/v0.4.2/kcli-darwin-arm64.tar.gz | tar xz
sudo mv kcli /usr/local/bin/

kcli v0.4.1 — Complete Interactive Coverage

Choose a tag to compare

@vellankikoti vellankikoti released this 21 Mar 13:06

kcli v0.4.1 — Interactive Actions for ALL 27 Resource Types

Every resource type now has explicit, context-appropriate actions in interactive mode (-i).

Complete Coverage

Resource Actions
Pods Logs, Describe, Exec, Edit, Port-forward, Delete
Deployments Describe, Logs, Scale, Restart, Edit, Delete
StatefulSets Describe, Logs, Scale, Restart, Edit, Delete
DaemonSets Describe, Logs, Restart, Edit, Delete
Services Describe, Port-forward, Edit, Delete
Nodes Describe, Cordon, Uncordon, Drain
Namespaces Switch, Describe, Delete
CronJobs Describe, Suspend, Resume, Edit, YAML, Delete
Jobs Describe, Logs, YAML, Delete
ConfigMaps Describe, Edit, YAML, Delete
Secrets Describe, YAML, Delete
Ingresses Describe, Edit, YAML, Delete
PVC Describe, Edit, YAML, Delete
PV Describe, YAML
HPA Describe, Edit, YAML, Delete
ReplicaSets Describe, Scale, YAML, Delete
Events Describe
SA Describe, YAML, Delete
Endpoints Describe, YAML
NetworkPolicies Describe, Edit, YAML, Delete
Roles/RoleBindings Describe, YAML, Delete
ClusterRoles/CRB Describe, YAML
StorageClasses Describe, YAML
LimitRanges Describe, YAML
ResourceQuotas Describe, Edit, YAML

27 resource types. Zero falling to generic default.

Usage

kcli get pods -i
kcli get deploy -i
kcli get nodes -i
kcli get cronjobs -i

Upgrade

curl -sL https://github.com/vellankikoti/kcli/releases/download/v0.4.1/kcli-darwin-arm64.tar.gz | tar xz
sudo mv kcli /usr/local/bin/

kcli v0.4.0 — Interactive Mode

Choose a tag to compare

@vellankikoti vellankikoti released this 21 Mar 12:54

kcli v0.4.0 — Interactive Mode

kcli get pods -i — k9s-like actions from the CLI

Add -i to any get command to enter interactive mode after the table displays:

$ kcli get pods -i
╭─────┬──────────┬──────────────┬───────┬──────────────╮
│   # │ NS       │ NAME         │ READY │ STATUS       │
├─────┼──────────┼──────────────┼───────┼──────────────┤
│   1 │ default  │ nginx-xxx    │   1/1 │ ✓ Running    │
│   2 │ default  │ api-yyy      │   2/2 │ ✓ Running    │
╰─────┴──────────┴──────────────┴───────┴──────────────╯

Select resource [1-2] (q=quit): 1

  nginx-xxx (default)
  [L] Logs  [D] Describe  [X] Exec  [E] Edit  [P] Port-forward  [DEL] Delete  [Q] Back

  Action: l
  → kcli logs pod/nginx-xxx --tail=100 -n default

Resource-specific actions

Resource Actions
Pods Logs, Describe, Exec, Edit, Port-forward, Delete
Deployments Describe, Logs, Scale, Restart, Edit, Delete
Services Describe, Port-forward, Edit, Delete
Nodes Describe, Cordon, Uncordon, Drain
Namespaces Switch, Describe, Delete
ConfigMaps Describe, Edit, YAML, Delete
Secrets Describe, YAML, Delete

Non-breaking

Default kcli get pods behavior is unchanged. The -i flag is opt-in.

Also in this release

  • kcli ns colored table with ▶ current marker
  • kcli ctx colored table with ★ favorites

Upgrade

curl -sL https://github.com/vellankikoti/kcli/releases/download/v0.4.0/kcli-darwin-arm64.tar.gz | tar xz
sudo mv kcli /usr/local/bin/

kcli v0.3.2 — ns and ctx Tables

Choose a tag to compare

@vellankikoti vellankikoti released this 21 Mar 11:49

kcli v0.3.2 — ns and ctx Colored Tables

Now Enhanced

kcli ns — beautiful namespace table:

╭─────┬───┬────────────────────┬────────────┬──────────╮
│   # │   │ NAMESPACE          │ STATUS     │ AGE      │
├─────┼───┼────────────────────┼────────────┼──────────┤
│   1 │ ▶ │ blue-green-demo    │ ✓ Active   │ 1w ago   │
│   2 │   │ default            │ ✓ Active   │ 1w ago   │
│   3 │   │ kube-system        │ ✓ Active   │ 1w ago   │
╰─────┴───┴────────────────────┴────────────┴──────────╯

kcli ctx — beautiful context table:

╭─────┬───┬──────────────────────┬─────╮
│   # │   │ CONTEXT              │ FAV │
├─────┼───┼──────────────────────┼─────┤
│   1 │ ▶ │ docker-desktop       │     │
│   2 │   │ kind-kubilitics-test │ ★   │
╰─────┴───┴──────────────────────┴─────╯
  • ▶ marks current context/namespace (sorted to top)
  • ★ marks favorites
  • Status icons with colors, age column, serial numbers

Upgrade

curl -sL https://github.com/vellankikoti/kcli/releases/download/v0.3.2/kcli-darwin-arm64.tar.gz | tar xz
sudo mv kcli /usr/local/bin/

kcli v0.3.1 — Auto Shell Completion

Choose a tag to compare

@vellankikoti vellankikoti released this 21 Mar 03:34

kcli v0.3.1 — Auto-Install Shell Completion

Zero Setup Required

Shell completion now installs automatically on first run. No manual steps needed.

When you run any kcli command for the first time:

$ kcli version
✓ kcli: shell completion installed for zsh
  Restart your terminal or run: source <(kcli completion zsh)

kcli v0.3.1

After restarting your terminal (or sourcing), tab completion works everywhere:

kcli get po<TAB>           → pods
kcli get pods blue<TAB>    → blue-deployment-xxx
kcli get pods -n ku<TAB>   → kube-system
kcli hea<TAB>              → health
kcli get deploy<TAB>       → deployments

How it works

  • Detects shell (zsh/bash/fish)
  • Generates completion script to ~/.kcli/completion/
  • Adds source line to .zshrc/.bashrc (fish auto-loads)
  • One-time message, then silent forever
  • Skipped in CI environments

Upgrade

curl -sL https://github.com/vellankikoti/kcli/releases/download/v0.3.1/kcli-darwin-arm64.tar.gz | tar xz
sudo mv kcli /usr/local/bin/

kcli v0.3.0 — 27 Resource Types Enhanced

Choose a tag to compare

@vellankikoti vellankikoti released this 21 Mar 03:11

kcli v0.3.0 — Every Resource Type Enhanced

27 resource types now render with colored tables, status icons, serial numbers, and totals. Zero plain kubectl output on interactive terminals.

Newly Enhanced (11 types)

kcli get sa                    # ServiceAccounts with secrets count
kcli get ep                    # Endpoints with addresses
kcli get hpa                   # HPA with targets, min/max, replicas
kcli get netpol                # NetworkPolicies with selectors
kcli get roles                 # Roles with rule count
kcli get rolebindings          # RoleBindings with role reference
kcli get clusterroles          # ClusterRoles (cluster-scoped)
kcli get clusterrolebindings   # ClusterRoleBindings
kcli get sc                    # StorageClasses with provisioner
kcli get limitranges           # LimitRanges
kcli get resourcequotas        # ResourceQuotas

Complete List (27 types)

pods, deployments, services, nodes, namespaces, statefulsets, daemonsets, replicasets, configmaps, secrets, jobs, cronjobs, pv, pvc, ingresses, events, serviceaccounts, endpoints, hpa, networkpolicies, roles, rolebindings, clusterroles, clusterrolebindings, storageclasses, limitranges, resourcequotas

Also in this release

  • Fixed Unicode column alignment (runewidth)
  • show command supports with modifiers
  • Modifier columns never hidden (PriorityAlways)

Upgrade

curl -sL https://github.com/vellankikoti/kcli/releases/download/v0.3.0/kcli-darwin-arm64.tar.gz | tar xz
sudo mv kcli /usr/local/bin/

kcli v0.2.4 — Fixed Column Alignment

Choose a tag to compare

@vellankikoti vellankikoti released this 20 Mar 02:25

kcli v0.2.4 — Fixed Column Alignment

Fix

Columns are now perfectly aligned even with Unicode status icons.

The misalignment was caused by len() counting bytes instead of display width. ✓ is 3 bytes but displays as 1 character, causing all columns after STATUS to shift right.

Now uses go-runewidth for accurate display width calculation in:

  • Column width measurement
  • Text padding (left/right/center alignment)
  • Text truncation with ellipsis

Upgrade

curl -sL https://github.com/vellankikoti/kcli/releases/download/v0.2.4/kcli-darwin-arm64.tar.gz | tar xz
sudo mv kcli /usr/local/bin/