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.0.tar.gz (56.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.0-py3-none-any.whl (60.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kuno-0.2.0.tar.gz
  • Upload date:
  • Size: 56.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.0.tar.gz
Algorithm Hash digest
SHA256 270fc6ad5ce527069019e8f22355565de21d63f9aabd7b262b73cbf66acb309b
MD5 1bb9c057c5924ebcf4e3635756db6234
BLAKE2b-256 7dd76fb8b442e8aacd41cf9ec16e7aa54f15c00e90cbf5c57411b93137f995a6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: kuno-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 60.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75083ad5978d704cc5ee22a50b3b9386ac2fb601dfaff083cf787e2a37956434
MD5 d8b4c7b3079758b98f15b736ded41711
BLAKE2b-256 e561e7c2938fac37162a82b30a57ffaa4795b9cf0d0383c911615d0cd22bb33e

See more details on using hashes here.

Provenance

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

0.2.1

2 files

This release

0.2.0 This release

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