diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a5997f..e159069 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to Void 2.0 are documented here. Format: [Keep a Changelog](https://keepachangelog.com). +## 2.0.0-alpha.8 — Sacred Valley (Plan 6) +- Two-band #/sacred-valley dashboard: draggable data cards (clock, weather, host-perf, speedtest, jobs, inbox, search) with server-persisted layout (custom CSS-grid reorder, no resize). +- Little Blue Health band: config service registry, 60s pg-boss health checks, grouped status tiles, locally-cached service icons (no CDN leak). +- New endpoints: /api/dashboard/layout, /api/weather, /api/host, /api/speedtest/{history,run}, /api/health/{services,check}, /api/icons/:slug.png. +- Migrations 012 (dashboard_layout), 013 (speedtest_results), 014 (service_status). + ## [2.0.0-alpha.7] — 2026-06-02 ### Security & hardening diff --git a/deploy/README.md b/deploy/README.md index 2c3b8e3..7dc4dd3 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -100,3 +100,18 @@ explicit `client_encoding=UTF8` parameter. Workers set this on every connection (`lib/db/pool.py` equivalent in `workers/void_workers/`). Node's `pg` lib is more lenient and doesn't need this. If you ever re-initdb the cluster, use `--encoding=UTF8 --locale=C.UTF-8`. + +## Plan 6 (alpha-8) + +- **Migrations 012–014** (dashboard_layout, speedtest_results, service_status) are applied by the standard `npm run migrate` — no manual steps needed. +- **`speedtest-cli` on CT 311** — the hourly speedtest job requires it: + ```bash + pip install --break-system-packages speedtest-cli + ``` + Until installed, speedtest jobs will fail but the Sacred Valley speedtest card still renders any existing history without error. +- **Icon cache** — the server writes cached service icons to `ICON_CACHE` (default `/var/lib/void/icons`) and auto-creates the directory on first use. You can pre-create and own it for clarity: + ```bash + mkdir -p /var/lib/void/icons + chown void: /var/lib/void/icons + ``` +- **Service registry** — edit `config/services.json` to the real homelab service URLs and CT numbers. The committed seed values are best-guess placeholders and should be updated before the health band is meaningful. diff --git a/package.json b/package.json index 80a0020..de9c13e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "void-server", - "version": "2.0.0-alpha.7", + "version": "2.0.0-alpha.8", "type": "module", "private": true, "scripts": { diff --git a/server.js b/server.js index 807d49d..476b51a 100644 --- a/server.js +++ b/server.js @@ -9,7 +9,7 @@ import { router as ingestRouter } from './lib/api/routes/ingest.js'; import { router as iconsRouter } from './lib/api/routes/icons.js'; import { startCron } from './lib/cron/index.js'; -const VERSION = '2.0.0-alpha.7'; +const VERSION = '2.0.0-alpha.8'; export function createApp() { const app = express();