monitor kubernetes clusters using adafruit neopixels
Project description
kubeleds
Monitor your kubernetes clusters using NeoPixel LEDS!
Hardware
Raspberry PI (any model that supports GPIO)
Currently using a Raspberry PI 4b 2GB. Preparing a Raspberry PI Zero W
NeoPixel LED Strips, 12mm Diffussed bulbs
Usage
-
cd
into project directory. -
Create a virtual environment.
$ make venv
- Activate it.
$ source venv/bin/activate
- Install development dependencies with editable mode to test the CLI.
$ make install
Take kubeleds for a spin
This will basic command line functionality
$ kubeledscli init
This will retrieve node status and set the leds base off of status of each node, testing each status condition (ready, cpu, memory, disk)
$ kubeledscli get_cluster_nodes '[api fqdn]' \
'[your token]' 'True' 'get_cluster_nodes' \
'set_leds' 'get_cluster_nodes' 'Ready' \
'set_leds' 'get_cluster_nodes' 'MemoryPressure' \
'set_leds' 'get_cluster_nodes' 'DiskPressure' \
'set_leds' 'get_cluster_nodes' 'PIDPressure' \
'set_leds' 'get_cluster_nodes' 'Ready' \
The above commands will retrieve cluster node status and set an led frame per status condition, 1 led per node.
GREEN: Node Ready BLUE: CPU Good CYAN: Memory good Purple: Disk Good
Test with Docker
CLI commands can be tested with Docker.
-
Build an image for the CLI.
Image is tagged with the same name as the
cli_command
.
$ make docker-image
- Run the command inside the container.
$ docker-run --rm kubeledscli init
Documentation
- Install documentation-related dependencies.
$ make docs
- Serve the docs locally.
$ make serve-docs
Distribution
NOTE
Make sure you have account in PyPI before you try this out.
To publish you CLI to PyPI, run:
$ make distributions
dist
directory will be created inside your project directory. Upload it to PyPI using:
$ twine dist/*
Help
For help related to make commands.
$ make help
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
File details
Details for the file kubeleds-0.0.1.tar.gz
.
File metadata
- Download URL: kubeleds-0.0.1.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ace56b10db1e2c675a123e200e1556c971d9f76c6123bc4db3ad07591d2989b5 |
|
MD5 | de30e00bd878d0cf8e09e5d959683cd3 |
|
BLAKE2b-256 | 55f7163d53d451b29fd0ac393844201e1e5180167d7bf248fcc1c6e0839c8fb6 |
File details
Details for the file kubeleds-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: kubeleds-0.0.1-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cd26d9392c8f5ffd04fe67e3dd1d2b488ae15211681cc0d9e32ba7ec7ed7f5b |
|
MD5 | 534d17f7b435f99f08620bf01c86a924 |
|
BLAKE2b-256 | ef771af67949e55eda19a9f6a35d38b18794d9713a9339b872a21341d630909a |