Infrastructure¶
Overview¶
The automation software runs on a Raspberry Pi 4 inside a lightweight Kubernetes cluster (k3s). This keeps services containerised, restartable, and easy to update.
Hardware¶
- Controller: Raspberry Pi 4 (4 GB RAM recommended)
- Storage: TBD (external SSD preferred over SD card for reliability)
- Power: TBD (UPS or battery backup to protect against outages)
- Networking: Ethernet (preferred) or WiFi
k3s Cluster¶
k3s is a single-node Kubernetes distribution suited to the Raspberry Pi's ARM architecture.
- Container runtime: containerd
- Workloads: Prometheus, Grafana, Alertmanager, custom sensor/actor services (TBD)
- Persistent storage: local-path provisioner (TBD — evaluate for time-series data)
Deployed Services¶
| Service | Purpose | Status |
|---|---|---|
| Prometheus | Metrics collection and alerting rules | TBD |
| Grafana | Dashboard and visualisation | TBD |
| Alertmanager | Alert routing and notification | TBD |
| Sensor exporter | Custom service reading GPIO / I²C | TBD |
| Actor controller | Custom service driving relays | TBD |
Networking¶
- Local access via static IP or mDNS (
hydro.local) - Remote access: TBD (VPN / reverse proxy / dynamic DNS)
- All inter-service communication stays on the cluster network
Operating System¶
- Raspberry Pi OS Lite (64-bit, headless)
- SSH enabled; Wi-Fi credentials configured pre-boot if needed