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.1.tar.gz (56.4 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.1-py3-none-any.whl (60.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kuno-0.2.1.tar.gz
  • Upload date:
  • Size: 56.4 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.1.tar.gz
Algorithm Hash digest
SHA256 df8d225a8c87c6f338e71da0f59af8921002c1338163bca86b5a8f440b6d1e67
MD5 8bc2194d1241e9deb5949af8e200cb6f
BLAKE2b-256 feb46411859eb4c482b186765d0cfa6d7c7cab13e71ea222dae943a7d23eea46

See more details on using hashes here.

Provenance

The following attestation bundles were made for kuno-0.2.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: kuno-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 60.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3c2b1d5dcc4e8a9b4a7f5b3cbdb9afd6fc5b2ef79387f17a5c45d522f9a411ab
MD5 40a984ff4f888a4dce8e28eb278aa9bf
BLAKE2b-256 4235a366ae7988717eeae723af6bc5bc5428129fdd5a2c4e3c908175a8ae7380

See more details on using hashes here.

Provenance

The following attestation bundles were made for kuno-0.2.1-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

0.2.2

2 files

This release

0.2.1 This release

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