Reference driver endpoint service written in Falcon, Werkzeug, Psutil and Docker
This project works as an intuitive remotely accessible system performance monitoring and task management service for container station servers and headless Raspberry Pi setups where multiple containers are concurrently running and require observation, with secure passcode-protected endpoints so that clients can connect via the SuperVisor Frontend Service and manage their devices.
- Zero dependence on pre-rendered template with the use of DeadSync to render DOM elements on connection
- Efficient JSON data structure for 100% faster updating with the use of LiveSync to refresh DOM contents
- Intuitive endpoints for fetching preliminaries, statistics, logs and process listing for containers
- Intuitive endpoints for fetching preliminaries and revision histories for images
- Intuitive endpoints for fetching preliminaries for both networks and volumes
- Relatively low overhead from the server during live stat (approx. 2MB over Python 3 runtime usage)
- Live polling time period is left at client-side decision to stick to a simple client-server model
- Monitoring station information is provided by the awesome
psutil
library - Monitoring and management Docker information is provided by the effective
docker-py
library - Added protection using passcode verification parameter check and server-side authentication of data requests
- Decoupled structure allows for connection to frontend service (Check here)
- Authenticated process management endpoints -
TERMINATE
,KILL
,SUSPEND
andRESUME
ops - Rewritten entirely in Falcon WSGI and Werkzeug HTTP server to emphasise on speed, efficiency and cleaner code
You may request for the addition of new features in the issues page but as the project is singlehandedly maintained - it might take time to develop on them. Please consider forking the repository and contributing to its development. ❤️