| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: ktop | Distribution: openSUSE Tumbleweed |
| Version: 0.6.1 | Vendor: openSUSE |
| Release: 1.1 | Build date: Sat Nov 7 17:33:57 2026 |
| Group: Unspecified | Build host: reproducible |
| Size: 62944402 | Source RPM: ktop-0.6.1-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://github.com/vladimirvivien/ktop | |
| Summary: A top-like tool for your Kubernetes clusters | |
A top-like tool for your Kubernetes cluster. Following the tradition of Unix/Linux top tools, ktop is a tool that displays useful metrics information about nodes, pods, and other workload resources running in a Kubernetes cluster.
Apache-2.0
* Sat Nov 07 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 0.6.1:
ktop v0.6.1 delivers UI ergonomics, subpage polish, and expanded
multi-OS distribution. This release adds interactive column
sorting and filtering to the Pod Detail Containers table,
surfaces live Pressure Stall Information (PSI) metrics directly
within Node and Pod detail headers, introduces an interactive
keyboard shortcut overlay modal (? or F1), enables direct
clipboard copying for selected resource names (y), adds CLI flags
for initial table sorting (--sort-nodes, --sort-pods), and
packages native Windows binary builds and zip archives in
automated releases.
* Pod Detail Containers Table Sorting & Filtering (#165)
- Interactive Sorting: Added interactive column sorting to the
Containers table in the Pod Detail page with hotkey bindings:
c (CPU), m (Memory), n (Name), i (Image), s (Status), and r
(Restarts).
- Persistent Direction: Preserves active sort column and
direction across periodic metric refresh cycles.
- Filter Support: Integrated slash (/) filtering to quickly
search and filter container names within pods.
* Detail Views PSI Resource Stall Indicators (#168)
- Info Header PSI Metrics: Integrated live Pressure Stall
Information (PSI) metrics (CPU, MEM, IO) directly into the
condensed Info header box on both Node Detail and Pod Detail
pages.
- Color Thresholds: Displays stall percentages styled by
severity: green (<2%), yellow (2–10%), orange (10–25%), and
red (≥25%).
- Kernel Guardrail: Renders PSI: ⚠ N/A when running against
nodes with Linux kernels older than 4.20 where PSI is
unsupported.
- Vertical Space Conservation: Retains a single compact
sparkline row (CPU, MEM, Net, Disk), preserving terminal
space for the Containers and Pods tables.
* Keyboard Shortcut Help Overlay Modal (#169)
- Contextual Help Modal: Added an interactive keyboard shortcut
overlay modal triggered via ? or F1 from any page.
- Categorized Reference: Groups all available keybindings into
categorized sections: General Navigation, Table Controls,
Column Customization, Detail Views, and Log Viewer.
- Isolated Event Handling: Modal cleanly dismisses on Esc,
Enter, or q, restoring the previous page state and table
focus without triggering application exit.
* Clipboard Copy for Selected Resource Names (#171)
- Resource Yank Key: Added y shortcut key to copy the currently
selected node, pod, or container name to the system
clipboard.
- Visual Feedback: Displays temporary confirmation in the
footer upon successful copy.
* Initial Table Sorting CLI Arguments (#174)
- CLI Startup Flags: Introduced --sort-nodes and --sort-pods
CLI flags to specify initial sort columns on startup (e.g.,
ktop --sort-nodes=cpu --sort-pods=memory).
- Input Validation: Validates user-specified sort keys against
recognized column identifiers with helpful error diagnostics
on invalid arguments.
* Native Windows Binary Builds & Zip Archives (#166)
- Windows Cross-Compilation: Configured GoReleaser to produce
native Windows binaries (windows/amd64, windows/arm64) for
both standalone ktop.exe and kubectl-ktop.exe plugin
executables.
- Zip Packaging: Configured .zip archive formats for Windows
distribution alongside existing .tar.gz archives for Linux
and macOS.
* Documentation & Configuration Reference (#173)
- Guide Updates: Updated README.md, docs/guide.md, docs/cli.md,
and docs/psi.md documenting new CLI flags, keyboard
shortcuts, PSI stall indicators, and multi-OS installation
workflows.
* Fri Nov 06 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 0.6.0:
ktop v0.6.0 introduces Kubernetes Pressure Stall Information
(PSI) resource contention metrics, a dedicated user session
directory with rotated logging (~/.ktop/), dynamic in-app table
column selection and configuration persistence
(~/.ktop/config.yaml), interactive column sorting and filtering
across subpages, major Prometheus scraper and metric store
performance optimizations, codebase modernization, and toolchain
upgrade to Go 1.27.
* PSI (Pressure Stall Information) Metrics
- Resource Contention Signals: Integrated cAdvisor/kubelet PSI
metrics (container_pressure_cpu_waiting_seconds_total,
container_pressure_memory_waiting_seconds_total,
container_pressure_io_waiting_seconds_total) across node and
pod workloads.
- Overview STALL Column: Added a STALL column to Nodes and Pods
overview tables rendering the dominant waiting stall
percentage (CPU, Memory, or I/O) over the scrape window.
- Cluster Summary Stall Gauge: Added cluster-level PSI stall
metrics to the Cluster Summary header.
- Version Guardrails: Added runtime version checks that surface
⚠ PSI beta in the cluster header when Kubernetes is <1.36 and
prefix STALL values with ⚠ 0% when node kernels are <4.20.
* User Session Directory & Rotated Logging (~/.ktop/)
- Session Directory: Introduced automatic creation of ~/.ktop/
(mode 0700) for user-specific data, relocatable via the
$KTOP_DIR environment variable.
- Rotated Structured Logging: Integrated log/slog and
lumberjack.v2 writing to ~/.ktop/ktop.log (mode 0600) with
automatic 10MB rotation, retaining the last 3 sessions
without interfering with the terminal display.
- CLI Logging Flags: Added --log-level (debug, info, warn,
error) and --log-format (text, json) flags.
- Graceful Degradation: Application continues running cleanly
if directory or file creation fails due to restrictive
filesystem permissions.
* Dynamic Column Configuration & Persistence
(~/.ktop/config.yaml)
- Interactive Column Selector Modal: Added interactive column
selection dialog triggered via the = hotkey on focused
overview tables, supporting Space toggle, Enter apply, and
Esc cancel.
- Active Default Columns: Enforced compact default column
layouts for Nodes (NAME, STATUS, RST, PODS, DISK, CPU, MEM)
and Pods (NAMESPACE, POD, READY, STATUS, RST, AGE, CPU,
MEMORY), preventing horizontal table sprawling on standard
terminals unless explicitly requested with
- -show-all-columns.
- Configuration Schema: Introduced ~/.ktop/config.yaml
supporting table column customizations with resolved defaults
for metrics collection and logging.
- Automatic Persistence: Column selections passed via CLI flags
(--node-columns, --pod-columns) or modified via the
interactive modal automatically persist to
~/.ktop/config.yaml.
- Modal Event Isolation: Isolated modal input capture so
dismissing the column dialog with Esc restores table focus
without triggering application-level exit.
* Subpage Navigation, Sorting & UI Consolidation
- Shared Table Controller: Extracted reusable
ui.TableController encapsulating sort toggling, shortcut key
binding, slash / filter lifecycle, and scroll titles.
- Node Detail Pods Sorting & Filtering: Enabled interactive
column sorting (c CPU, m MEM, n NAMESPACE, p POD, s STATUS, r
RESTARTS, d READY, a AGE) and / slash filtering on the Node
Detail Pods table.
- Header Shortcut Collision Fix: Renamed Node Detail Pods
second column from NAME to POD, matching the Overview page
and fixing the hotkey collision on 'N' with NAMESPACE.
- Format Consolidation: Unified detail formatting utilities
(FormatCPU, FormatMemory, FormatDuration, FormatEventAge,
Truncate, AdaptiveRateMax, CycleFocus) into ui/format.go.
* Performance & Scraper Optimizations
- Scraper Loop Deduplication: Eliminated duplicate background
scrape goroutines in KubernetesScraper, halving proxy scrape
traffic to node kubelets and cAdvisor endpoints.
- O(S) Pod Metrics Aggregation: Rewrote GetAllPodMetrics from
an O ( N ns × N pods × N series ) Cartesian scan into a
single-pass O ( S ) aggregation grouped by (namespace, pod,
container).
- Node Metric Query Deduplication: Reused existing node metrics
during overview and summary refresh cycles to avoid duplicate
queries.
- Pod-to-Node Indexing: Pre-indexed pods by Spec.NodeName in O
( P ) when constructing node models.
- Sparkline Memory Leak Fix: Added automatic eviction of
deleted pods and nodes from memory sparkline maps.
- InitContainer Metric Correctness: Corrected CPU request
accounting in GetPodContainerSummary for pods configured with
init containers.
- Informer Resilience & RBAC Fallback: Replaced background
informer sync panics with graceful error recovery, supporting
namespace-scoped RBAC clusters.
- TUI Concurrency Deadlock Fix: Switched refresh queue delivery
to non-blocking sends and debounced filter inputs to
eliminate UI freezes.
* Codebase Simplification & Toolchain Modernization
- Dead Code Removal: Removed unused views/pod/logs.go and
deprecated metrics informer/lister infrastructure in k8s/.
- Direct Metric Summation: Eliminated redundant
v1beta1.PodMetrics round-trip conversion in
MainPanel.refreshPods.
- Go 1.27 Toolchain: Upgraded module toolchain to Go 1.27
across go.mod, Dockerfile, and GitHub Actions workflows.
- Standard Library Idioms: Modernized codebase to use
slices.Sort, slices.Contains, slices.Clone, and standardized
error wrapping with %w.
- Multi-OS CI Matrix: Expanded GitHub Actions CI test suite to
validate builds and tests across Linux, macOS, and Windows
(windows-latest).
* Tue Jan 13 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 0.5.3:
* Net and Disk I/O Visualization updates
- Node network and disk IO metrics have been updated with
better normalization logic to display metrics
- Pod detail view now shows disk read/write rates in the
visualization
- Pod network visualization is disabled per-pod for now
- Update to version 0.5.2:
* Bug Fix
This release fixes UI issues and memory consumption that was
reported in #141.
- Fixes
- Internal refactor to better manage locks
- Introduction of scrape timeout to avoid freeze
- Reduce the number of metrics to only store 8 metrics that
ktop actually uses
- Add string interning for metrics label deduplication
- Reduce Prom MaxSamples to 50
- Update to version 0.5.1:
* Bug Fix Release
This patch release fixes a critical startup hang that could
occur when using Prometheus metrics.
Problem: ktop would sometime hang indefinitely when using
Prometheus metrics source and one or more nodes were slow or
unresponsive.
Root Cause: The initial metrics collection blocked startup,
waiting synchronously for all nodes to respond. Sequential node
scraping meant one slow node would block all others, with no
per-request timeout.
Solution:
- Test connectivity before starting collection (fails fast on
RBAC issues)
- Non-blocking first collection with timeout
- Parallel node scraping instead of sequential
- Per-request timeout (30s) prevents indefinite blocking
Result: ktop now starts immediately and populates metrics in
the background.
* Tue Jan 13 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 0.5.0:
This is a massive release that updates ktop in several major
ways. First, this release introduces Prometheus as a (default)
metrics source, providing richer metrics and better accuracy when
available. Second, the UI has been significantly enhanced with
new detail views, improved navigation, and polished
visualizations to make ktop a tool you can use daily to watch
over your Kubernetes clusters.
* New Features
- Prometheus Metrics Support - Native Prometheus scraping from
kubelet, cAdvisor, and API server endpoints
- Prometheus as Default - Metrics source now defaults to
Prometheus with graceful fallback
- Runtime Namespace Filtering - Filter pods by namespace at
runtime
- Content Filtering - Search and filter content within views
- Column Sorting - Sort tables by clicking column headers
- Resource Detail Views - Drill-down detail pages for nodes,
pods, and containers
- Context-Aware Navigation - Navigation hints adapt to current
view
- Toast Notifications - User messages displayed via toast
windows
* Improvements
- Redesigned cluster summary panel
- Improved summary statistics display
- Enhanced health check reporting
- Enhanced sparkline visualizations
- Unified runtime storage backend for metrics
- Dynamic height adjustment on terminal resize
* Documentation
- Updated documentation to reflect the new changes
- New GitHub Pages published at
https://vladimirvivien.github.io/ktop/
* Dependencies
- Bump golang.org/x/oauth2 from 0.7.0 to 0.27.0 (#61)
* Mon Jul 07 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 0.4.1:
* Fix Homebrew cask release (#56)
* Mon Jul 07 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 0.4.0:
* This release introduces new command-line options to filter
which columns are displayed in nodes and pods tables.
Users can now customize the view by specifying columns with
- -node-columns and --pod-columns flags.
- Column Filtering
You can now customize which columns are displayed in the
nodes and pods tables. This is useful when you want to focus
on specific metrics or when working with limited screen
space.
To show only specific node columns:
ktop --node-columns NAME,CPU,MEM
To show only specific pod columns:
ktop --pod-columns NAMESPACE,POD,CPU,MEMORY
You can combine both filters:
ktop --node-columns NAME,CPU,MEM --pod-columns NAMESPACE,POD,STATUS
Available node columns:
- NAME
- STATUS
- AGE
- VERSION
- INT/EXT IPs
- OS/ARC
- PODS/IMGs
- DISK
- CPU
- MEM
Available pod columns:
- NAMESPACE
- POD
- READY
- STATUS
- RESTARTS
- AGE
- VOLS
- IP
- NODE
- CPU
- MEMORY
These enhancements improve the usability and customization of
ktop, allowing users to tailor the displayed information to
their needs. The updated automation scripts also ensure a
smoother release workflow.
* What's Changed
- Update CI/release scripts (#55)
- Add column filtering options for nodes and pods in ktop (#51)
- Bump golang.org/x/net from 0.36.0 to 0.38.0
- Bump golang.org/x/net from 0.23.0 to 0.36.0
* Fri Jul 26 2024 opensuse_buildservice@ojkastl.de
- Update to version 0.3.7:
* Fixes/updates to goreleaser and github actions
* Wed Jul 10 2024 opensuse_buildservice@ojkastl.de
- Update to version 0.3.6:
* Bump golang.org/x/net from 0.17.0 to 0.23.0
* Bump google.golang.org/protobuf from 1.27.1 to 1.33.0
* Bump golang.org/x/net from 0.7.0 to 0.17.0
* Bump gopkg.in/yaml.v3 from 3.0.0-20210107192922-496545a6307b to
3.0.0
* Mon Apr 17 2023 kastl@b1-systems.de
- Update to version 0.3.5:
* Implements an informer for metrics-api types
* Support for OCI image release
* Bump golang.org/x/crypto from 0.0.0-20220214200702-86341886e292
to 0.1.0
* Bump golang.org/x/net from 0.0.0-20220127200216-cd36cc0744dd to
0.7.0
* Bump golang.org/x/text from 0.3.7 to 0.3.8
* Bump github.com/emicklei/go-restful
* Homebrew documentation update
- skip non-existent releases
* 0.3.1
* 0.3.2
* 0.3.3
* 0.3.4
* Wed Jun 22 2022 kastl@b1-systems.de
- Update to version 0.3.0:
* GitHub Action and release automation
* test user yaml
* Fixes for authorization detection; client-go updates; UI updates
* Refactor code to use typed clients and informers
* GUI updates and doc adjustments
* chore: Rename Nmspaces to Namespaces
/usr/bin/ktop /usr/share/doc/packages/ktop /usr/share/doc/packages/ktop/README.md /usr/share/licenses/ktop /usr/share/licenses/ktop/LICENSE
Generated by rpm2html 1.8.1
Fabrice Bellet, Mon Nov 9 22:58:56 2026