chore: refactoring and docs

This commit is contained in:
2025-08-21 18:00:02 +02:00
parent 5870695465
commit 1738017fd5
8 changed files with 51 additions and 37 deletions

View File

@@ -1,30 +1,46 @@
# SPORE
SProcket ORchestration Engine
> SProcket ORchestration Engine
SPORE is a simple cluster engine for ESP8266 microcontrollers.
## Features
- WiFi STA / AP
- node auto discovery over UDP
- auto discovery over UDP
- service registry
- pub/sub event system
- Over-The-Air updates
## Supported Hardware
- ESP8266
- ESP-01
## Architecture
### Components
The core architecture consists for following components:
- Network Manager: WiFi connection handling
- Cluster Manager: node discovery and memberlist management
- API Server: HTTP API for interacting with node and cluster
- Task Scheduler: internal scheduler used for system and user defined tasks
### Auto Discovery
A node periodically executes 2 tasks responsible for auto discovers:
A node periodically executes 2 tasks responsible for auto discovery:
- send discovery: send UDP packet on broadcast address to discover nodes
- listen for discovery: receive UDP packets and send response back to the node who initiated discovery
Discovered nodes are added to the so cluster memberlist.
Another periodic task will then call the `/api/node/status` endpoint over HTTP on each node in the memberlist to get detailed informations about the node (e.g. freeHeap, available API endpoints).
Discovered nodes are added to the so clusters memberlist.
Another periodic task will then call the `/api/node/status` endpoint over HTTP on each node in the memberlist to get system resources and available API endpoints.
### Event System
The `NodeContext` implements an event system for publishing and subscribing to local and cluster wide events (TODO).
It is used internally for communication between different components and tasks.
## Develop