Skip to main content

Interactive terminal UI for streaming and filtering Kubernetes pod logs across multiple deployments

Project description

kube-orb

Watching logs across a Kubernetes cluster usually means juggling multiple kubectl logs windows and grepping after the fact, or writing complex regex just to add a couple of filters. kube-orb streams kubectl logs -f from every pod in your selected deployments into one merged, colorized view — and lets you filter, highlight, and search while it's streaming.

Built with Textual, kube-orb is a full terminal UI: an interactive setup wizard walks you through picking a namespace, deployments, and filter patterns — no flags required — or skip straight to the viewer with CLI arguments if you prefer. Save named session configs to reload your exact setup later; passively collect rare events in a monitor panel without losing your scroll position; get alerted when pods restart or go unhealthy; and add or remove deployments from the live stream without restarting.

kube-orb viewer

Features

  • Multi-pod live tail — stream logs from any number of pods/deployments at once, each with a distinct color.
  • Filters — hide lines matching a pattern, live-editable mid-session.
  • Highlights — emphasize lines matching a pattern without hiding anything else.
  • Monitors — passively collect matching lines into a separate panel so you can watch for rare events (e.g. job failed) without losing your scroll position in the main stream.
  • Live search — search the whole buffered session, jump to a result, and keep streaming.
  • Pod health panel — flags pods that aren't Running or have crossed a restart threshold; restart a pod or roll out a deployment restart from inside the app.
  • Dump mode — fetch existing logs once (with --tail/--since) and exit, for scripting or one-off inspection, instead of a live stream.
  • Saved configs — save a named combination of namespace, deployments, and patterns, and reload it later by name.
  • JSON log formatting — auto-detects structured JSON log lines and shows time LEVEL message key=value ... instead of a raw JSON blob, with a toggle back to raw and a detail view (Enter on a clicked line) for the full pretty-printed object.
  • Collapse repeated lines — journalctl-style: consecutive identical lines from the same pod fold into a single "last line repeated N times" marker, toggleable, so a crash-looping pod doesn't flood the stream.

Installation

Requires Python 3.10+ and kubectl on your PATH, configured against the cluster you want to inspect (kube-orb shells out to your existing kubectl and inherits its context/auth — no separate credentials or Kubernetes client library involved).

# Recommended — pipx keeps CLI tools in isolated environments
pipx install kube-orb

# Or with plain pip
pip install kube-orb

This installs two commands: kube-orb and kube-orb-inject (a small test utility — see the User Guide).

For development / contributing:

git clone https://github.com/adlidev/kube-orb.git
cd kube-orb
pip install -e . --group dev

Quick start

# No arguments — launches the interactive setup wizard
kube-orb

# Skip the wizard: watch two deployments live
kube-orb -n production -p api-gateway -p auth-service

# Watch every deployment in a namespace
kube-orb -n staging --all-pods

# One-shot dump instead of a live stream
kube-orb -n staging --dump --tail 500

# Pre-filter/highlight from the command line
kube-orb -n default -p worker -f DEBUG -H ERROR --health

Once you're in the viewer, press F / H / M to edit filters, highlights, or monitors live, / to search, P to add/remove streamed deployments, and Space to pause. See the User Guide for the full keybinding reference and pattern syntax.

Development

pip install -e . --group dev
pytest                    # run the test suite
textual run --dev src/kube_orb/__main__.py   # live-reload dev mode

A local, disposable k3d cluster with fake log-generating services is included for manual testing — see CLAUDE.md for setup and architecture notes.

License

MIT License

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

kube_orb-1.0.1.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

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

kube_orb-1.0.1-py3-none-any.whl (61.9 kB view details)

Uploaded Python 3

File details

Details for the file kube_orb-1.0.1.tar.gz.

File metadata

  • Download URL: kube_orb-1.0.1.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for kube_orb-1.0.1.tar.gz
Algorithm Hash digest
SHA256 54bf4fa4f6f860bf07b4e58b4dfb23dbcbeba989882580e5bee24ad0bb8ce083
MD5 7d240dd48209364d93485a0fdf5f4bad
BLAKE2b-256 58061b2b0f48a2812a669763323fc8b24ae4fd186d662adafa52ec0880a1024d

See more details on using hashes here.

Provenance

The following attestation bundles were made for kube_orb-1.0.1.tar.gz:

Publisher: publish.yml on adlidev/kube-orb

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

File details

Details for the file kube_orb-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: kube_orb-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 61.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for kube_orb-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f8c9b7149ed5e4611dedbac200db3c0eb23fbd36aeac59df2122c0155aaf04d2
MD5 784f88a8bdb9cdf7dafc3e805d0f8cbf
BLAKE2b-256 7ebc95ccef846157b3a07cab2e546414a883f4f550ae01288ed2a896f68574e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for kube_orb-1.0.1-py3-none-any.whl:

Publisher: publish.yml on adlidev/kube-orb

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