release: prepare server 0.9.0

This commit is contained in:
2026-07-31 00:28:22 +03:00
parent a343963bf0
commit f492782aff
34 changed files with 1156 additions and 380 deletions
+12 -3
View File
@@ -38,6 +38,10 @@ Core tables:
- `remote_sessions`
- `notification_settings`
- `notification_deliveries`
- `device_notification_settings`
- `inbox_notifications`
- `contact_verifications`
- `lan_clients`
Notification delivery uses a persistent SQLite queue. Workers atomically claim ready rows
with a lease, increment the attempt counter, and finish them as `sent`, `retry`, or
@@ -46,14 +50,14 @@ an independent retention period; queued, retrying, and in-flight rows are preser
## Agent
The agent is a small Go binary and uses tools normally available on OpenWrt for platform
operations:
The production agent is a small Go binary with a native HTTPS client. It uses tools
normally available on OpenWrt only for platform operations:
- `ubus`
- `ip`
- `opkg`
- `/etc/init.d/*`
- `curl` or `wget`
- `ping`, `uci`, and the active package manager
The agent does not accept inbound connections. It polls the server and executes only allowlisted command types.
@@ -91,3 +95,8 @@ The agent uses outbound HTTPS polling:
Server-Sent Events update the browser dashboard; agent transport remains HTTPS polling.
WebSocket or MQTT can be added later if faster agent command delivery is required.
The server exposes authenticated release metadata to the dashboard. A background
resolver downloads the stable agent manifest, verifies its detached ECDSA signature with
the package repository public key, and retains the last trusted fallback when refresh
fails.