A rich CLI Kubernetes monitor
Project description
✨ Overview
KubMonitor provides a real-time, high-fidelity dashboard for your Kubernetes clusters directly in your terminal. Inspired by tools like nvitop and btop, it combines cluster quotas with local machine metrics in a slick, responsive TUI (Terminal User Interface).
🚀 Features
- 📊 Real-time Dashboard: Live updates of CPU, Memory, and GPU usage.
- ☸️ Namespace Scoped: Monitor specific Kubernetes namespaces with ease.
- 💻 Hybrid Metrics: View both K8s Cluster Quotas and Local Machine stats side-by-side.
- ⚡ Reactive TUI: Built with
Refreshedlayouts using Rich. - 🖥️ Cross-Platform: Works seamlessly on Linux, macOS, and Windows.
📦 Installation
Install via pip:
pip install kubmonitor-cli
Or install from source:
git clone https://github.com/vios-s/kubmonitor-cli.git
cd kubmonitor-cli
pip install .
🎮 Usage
Getting Help
View all available options and usage information:
kubmonitor --help
# or
kubmonitor -h
Check the version:
kubmonitor --version
# or
kubmonitor -V
Monitor a Namespace
Simply run the command followed by the target namespace:
kubmonitor <namespace>
Example:
kubmonitor eidf098ns
If no namespace is specified, it defaults to default:
kubmonitor
Mock Mode (Testing/Debug)
For testing or debugging purposes without requiring access to a Kubernetes cluster, you can use the --mock flag to run KubMonitor with simulated data:
kubmonitor --mock
Note: When using --mock, you cannot specify a namespace. Mock mode uses generated test data and doesn't connect to a real cluster.
This will generate realistic mock data including:
- Simulated resource quotas (CPU, Memory, GPU)
- Mock Kubernetes jobs with various states (running, completed, failed)
- Mock pods with realistic resource usage patterns
- Generated timestamps and durations
Keyboard Shortcuts
| Key | Description |
|---|---|
↑ / ↓ |
Navigate up and down |
q |
Quit the application |
Ctrl+C |
Force Exit |
🛠️ Technology Stack
- Rich: For beautiful terminal formatting and layout.
- Psutil: For retrieving local system metrics.
- Kubectl: Under the hood, it uses your local
kubectlconfiguration to fetch cluster data.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kubmonitor_cli-0.2.0.tar.gz.
File metadata
- Download URL: kubmonitor_cli-0.2.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5665786faa29af2c63526466917c1774fc043cbb043012e151bbeef0a7553b77
|
|
| MD5 |
6b245cf08ba76ba00ace34352876a05d
|
|
| BLAKE2b-256 |
06f450d89faa1efea822b7a16f90b0f5d8c870dc1d39f1f6b135ff9f7bcf808c
|
Provenance
The following attestation bundles were made for kubmonitor_cli-0.2.0.tar.gz:
Publisher:
release.yml on vios-s/kubmonitor_cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kubmonitor_cli-0.2.0.tar.gz -
Subject digest:
5665786faa29af2c63526466917c1774fc043cbb043012e151bbeef0a7553b77 - Sigstore transparency entry: 836397520
- Sigstore integration time:
-
Permalink:
vios-s/kubmonitor_cli@dfa3f042aa29c3baa5913dd8ed47930592fa9642 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/vios-s
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dfa3f042aa29c3baa5913dd8ed47930592fa9642 -
Trigger Event:
release
-
Statement type:
File details
Details for the file kubmonitor_cli-0.2.0-py3-none-any.whl.
File metadata
- Download URL: kubmonitor_cli-0.2.0-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5479c43caffcd4e7fd8a7eff8c3e48be502c0fd38cb0699c1c203364088e9e67
|
|
| MD5 |
59da31a8deae9e74abbbea3bd113b59f
|
|
| BLAKE2b-256 |
721fdce138166a7d50fe25332e59322f2d9c118bd9c1156b498bcad3c52595de
|
Provenance
The following attestation bundles were made for kubmonitor_cli-0.2.0-py3-none-any.whl:
Publisher:
release.yml on vios-s/kubmonitor_cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kubmonitor_cli-0.2.0-py3-none-any.whl -
Subject digest:
5479c43caffcd4e7fd8a7eff8c3e48be502c0fd38cb0699c1c203364088e9e67 - Sigstore transparency entry: 836397527
- Sigstore integration time:
-
Permalink:
vios-s/kubmonitor_cli@dfa3f042aa29c3baa5913dd8ed47930592fa9642 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/vios-s
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dfa3f042aa29c3baa5913dd8ed47930592fa9642 -
Trigger Event:
release
-
Statement type: