Skip to main content

kuno

A terminal UI for Kubernetes, focused on the parts of cluster work that happen most often: finding a resource, tailing its logs, reading a manifest or describe output, checking events. Everything is keyboard-driven and fast.

Requirements

  • uv
  • A valid kubeconfig

Install

uv tool install kuno

If you don't have uv:

curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install kuno

kuno requires Python 3.11+ and uses match/case syntax. If your system Python is older, uv tool install automatically downloads a compatible interpreter.

Then run:

kuno

To update:

uv tool upgrade kuno

Install from source

git clone https://github.com/1cadumagalhaes/kuno
cd kuno
uv sync
uv run python -m kuno

Usage

kuno [-c CONTEXT] [-n NAMESPACE] [-d]
flag description
-c, --context Kubernetes context to use (overrides config default)
-n, --ns, --namespace Namespace to use (overrides config default)
-d, --debug Write debug output to /tmp/kuno_debug.log

Navigation

j / k or arrow keys move through the resource list. g / G jump to top and bottom.

Press : to open the command bar, or ctrl+p for the Textual system command palette.

Key Bindings (main explorer)

Key Action
j / k or arrows Navigate list
g / G Jump top / bottom
Enter Drill into selected resource
d Describe selected resource
i Toggle Info side panel
y View YAML manifest
r Refresh current view
L or l Open Logs for selected resource
C Jump to Contexts view
N Jump to Namespaces view
ctrl+d Delete selected resource (with confirmation)
ctrl+r Restart selected deployment/statefulset (with confirmation)
ctrl+x Clear failed pods in current namespace (with confirmation)
ctrl+e View Events
ctrl+o Sort cycle
Backspace Go back
? Show all keybindings
: Open command bar
ctrl+p Textual system command palette

: Commands

command description
:pods / :containers switch to pods / containers
:deploy / :deployments switch to deployments view
:sts / :statefulsets switch to statefulsets view
:svc / :services switch to services view
:pvc switch to PVC view
:secrets switch to secrets view
:contexts switch to contexts view
:namespaces / :ns [name] / :namespace [name] switch or set namespace
:ctx <name> switch context
:logs open logs for selected resource
:yaml view raw manifest
:describe describe output with inline events
:events view events
:del / :delete delete selected resource (with confirmation)
:restart rollout restart selected resource (with confirmation)
:clear-failed / :clear-succeeded / :clear-evicted delete all pods in a terminal state for the current namespace (with confirmation)
:info / :hide-info toggle the info side panel
:config open config screen
:theme [name] cycle or set theme
:help show this command list

Logs Screen

Key Action
y / ctrl+c Copy text selection (if any)
d Open log detail panel
f Toggle follow mode
j / k Previous / next line
g / G Jump to top / bottom
/ Focus filter input
s Focus since (time) input
t Toggle timestamps
w Toggle line wrapping
m Cycle display mode (raw / structured)
r Reload logs
ctrl+u Clear filter
n / N Cycle search matches
[ / ] Previous / next pod (workload views)
ctrl+h / ctrl+l Previous / next container

Manifest / Describe Screens

/ toggles search. [ and ] jump between YAML keys at any nesting level.

Configuration

kuno reads from ~/.config/kuno/config.toml on startup and writes back when you save from :config.

[ui]
theme = "nord"
yaml_theme = "monokai"

[logs]
wrap = false
timestamps = false
mode = "raw"        # raw or structured
tail_lines = 500

[defaults]
# context = "my-context"
# namespace = "default"

theme accepts any Textual built-in theme. yaml_theme accepts any Pygments style name.

kuno remembers the last namespace you used per context (stored in ~/.cache/kuno/state.json), so switching back to a context restores the namespace you had selected.

Development

uv sync
make test
make check   # format + lint + typecheck + tests
make run     # run against current kubeconfig

To target a specific context or namespace during development:

make run CTX=my-context NS=my-namespace

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kuno-0.2.2.tar.gz (57.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kuno-0.2.2-py3-none-any.whl (61.8 kB view details)

Uploaded Python 3

File details

Details for the file kuno-0.2.2.tar.gz.

File metadata

  • Download URL: kuno-0.2.2.tar.gz
  • Upload date:
  • Size: 57.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for kuno-0.2.2.tar.gz
Algorithm Hash digest
SHA256 cde37bd9b53f5172d0448fc99965b7393f4d545749ea68709459ea669cac13a3
MD5 e7c160aa1ae8b4f53e78eeccabd9154b
BLAKE2b-256 c28f33e3809856d7ae0f2c3f850f6249c595d8b52ddd09f6a1d3b9bf1645ab83

See more details on using hashes here.

Provenance

The following attestation bundles were made for kuno-0.2.2.tar.gz:

Publisher: release.yml on 1cadumagalhaes/kuno

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kuno-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: kuno-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 61.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for kuno-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ccdf52840ab33bbc7002b6ba08cf0c16c3175a5697fc12b5977987c97a1c2793
MD5 ea0222b614bdd7cbe8a6c804fd618dab
BLAKE2b-256 aaac2db7f65c4443cbfae2f538a34a5b2d5c5e739e7eec86d0a8c1fc708de1d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for kuno-0.2.2-py3-none-any.whl:

Publisher: release.yml on 1cadumagalhaes/kuno

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 files

0.2.1

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page