Development
Repository layout
| Project | What it holds |
|---|---|
rPDU2MQTT |
The host: startup, roles, config sources, restart handling. |
rPDU2MQTT.Abstractions |
The plugin contracts. No framework types appear here. |
rPDU2MQTT.Core |
Config models, the energy-flow graph, history storage, helpers. |
rPDU2MQTT.Engine |
Integrations and background services: PDU polling, MQTT, Home Assistant, exporters. |
rPDU2MQTT.Api |
The REST API. |
rPDU2MQTT.Web |
The GUI host, and its TypeScript under web/src, bundled to wwwroot. |
rPDU2MQTT.Tests |
Tests. |
charts/rpdu2mqtt |
The Helm chart. |
docs-site |
This documentation, built with Netdocs. |
Pages
Building these docs
# regenerate the settings reference
dotnet rPDU2MQTT/bin/Release/net10.0/rPDU2MQTT.dll --emit-schema > /tmp/schema.json
python3 docs-site/generate-settings.py /tmp/schema.json
# build (or serve)
netdocs build --config docs-site/appsettings.json
The Docs workflow builds the site and publishes it to GitHub Pages from main.