K8s pod foamtree visualizer
Project description
k8s-pod-foamtree
It's web server which uses ~/.kube/config file for presenting resource request set for pods. It uses foamtree package for visualization. Dashboard has two option for visualization:
- cpu
- memory
Foamtree view is refreshed automaticaly every 60 seconds by default. Refresh frequency might be change by range slider.
Node is represented by square shape box. Foams are pods. If pod contains more than one container pod foam is splited into sub-foams. Empty foam represents unused (free) resources avaiable on node.
Memory unit
Below memory units are avaiable for displaing:
- KB
- MB
- GB
- TB
Context
Context combobox allows for switching current k8s context. Context is changed only in k8s-pod-foamtree web server not in ~/.kube/config file.
Installation
Prerequisites
Install uv package manager:
curl -LsSf https://astral.sh/uv/install.sh | sh
Install from source
# Install dependencies and the package in development mode
make restore_dev
# Or install without dev dependencies
make restore
Install via PyPi
pip install k8sfoams
# or with uv
uv pip install k8sfoams
Run k8s-pod-foamtree
After installation, run the application:
# Using make
make run
# Or directly
k8sfoams
# Or with uv run
uv run k8sfoams
Command lines arguments
- host: host IP address on which server listen, default is 127.0.0.1
- port: port number on which server listen, default is 8080
- d: turn on debug mode when server starts
Example:
k8sfoams --host 0.0.0.0 --port 8080 -d
Development
Running tests
# Run all tests (type checking, linting, security, unit tests)
make tests
# Run individual test suites
make unit_tests
make static_code_analysis
make check_types
make bandit
CI/CD targets
For CI/CD environments (GitHub Actions, etc.), use these targets that work with system Python:
make restore_ci # Install dependencies with --system flag
make tests_ci # Run all tests without uv run prefix
Building the package
make build
Clean build artifacts
make clean
Project details
Release history Release notifications | RSS feed
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 k8sfoams-1.2.0.tar.gz.
File metadata
- Download URL: k8sfoams-1.2.0.tar.gz
- Upload date:
- Size: 123.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2562dbf9c7aaa600ed78b8670a9b86565f9c91ea94fcfcce668ddf8734355dcc
|
|
| MD5 |
dc1a4c70d378947254f9a5f02d8d2dbb
|
|
| BLAKE2b-256 |
2d82b58e9829c5b78290722bd92c962b8cda5fb9f750eb90fec7672e5e654660
|
File details
Details for the file k8sfoams-1.2.0-py3-none-any.whl.
File metadata
- Download URL: k8sfoams-1.2.0-py3-none-any.whl
- Upload date:
- Size: 130.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cec790cbb263ea291c3f239aae3c5a1591e22ebbcbed39a00743fc57f4b29842
|
|
| MD5 |
67f2a352b4579b2d1b78dcdb44879276
|
|
| BLAKE2b-256 |
9999d19f4a970b33920e64e385362b2fcf4e336ef39dac71a69cd3766eb4f81f
|