Skip to main content

A terminal UI for Kubernetes focused on fast operational workflows

Project description

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.14+. If your system Python is older, uv 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+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)
: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.

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

Project details


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.1.0.tar.gz (48.9 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.1.0-py3-none-any.whl (53.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kuno-0.1.0.tar.gz
  • Upload date:
  • Size: 48.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kuno-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ef53c80f5df45b2f5b7a6b20cdb3748cbc3d080dcac1f25cb6a7891a450d481d
MD5 9668a35f56335cf440f8e4b95aba3437
BLAKE2b-256 c99f97340148134864de005d75c048137e548b7643ab7077ab822b0ec57dfb4f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: kuno-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 53.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kuno-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e5495f609e3463a22cb55a6c09f9e4c898241605164b0be34443d2c2339bba91
MD5 4c5031333b59c23bdeafbd015fb491ad
BLAKE2b-256 c413db569ac18cf1637752d180e31b6a128dcabf305d9c67b7f9c52ae59ea21e

See more details on using hashes here.

Provenance

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page