Skip to main content

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.

Drag Racing

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

k8sfoams-1.3.0.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

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

k8sfoams-1.3.0-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

Details for the file k8sfoams-1.3.0.tar.gz.

File metadata

  • Download URL: k8sfoams-1.3.0.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for k8sfoams-1.3.0.tar.gz
Algorithm Hash digest
SHA256 b45061dd1ac37c132cedc7bbc60ba969e1d25e29312b6f20e63b5b5dd53edbe3
MD5 8e7dacb0d69bfda204df753618450ab8
BLAKE2b-256 ecbc317990c7a2eb024d275ddd8fc6e5ce254a4b94e9f8671d8007c3dbc61420

See more details on using hashes here.

File details

Details for the file k8sfoams-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: k8sfoams-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for k8sfoams-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b770387330ef5b5a05f24d17bfca7268dfa7910bd44785704f4eb65bab78f0a7
MD5 9d920af7321e7a71041b630431e8c3d3
BLAKE2b-256 a0c9a72628b5b4c48c3861c8cb1375a93ef71af12a1b27c2b72c7ef01d0bcabe

See more details on using hashes here.

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