From 1155a0522bccd34e72740e3a5fd7566821438d51 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Fri, 27 Feb 2026 09:23:16 +0100 Subject: [PATCH] docs: update CHANGELOG and README for v0.32.4 Co-Authored-By: Claude Opus 4.6 --- CHANGELOG.md | 6 ++++++ controller/README.md | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72e9c41..472d4d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ ## Changelog +### v0.32.4 — Controller telemetry: include controller in hub app telemetry (2026-02-27) + +#### Added +- **report/telemetry.go**: Include the `felhom-controller` container as a special entry in the `app_telemetry` array sent to the hub — reuses all existing hub telemetry infrastructure (memory trends, known issues, fleet aggregation) with zero hub-side changes +- **report/telemetry.go**: New `buildControllerTelemetry()` function collects controller container metrics (memory, CPU) and log scan results (warnings, errors, deduplicated issues) + ### v0.32.3 — Logging cleanup: consistent tags, dedup, standardized prefixes (2026-02-26) #### Fixed diff --git a/controller/README.md b/controller/README.md index ec49603..237726e 100644 --- a/controller/README.md +++ b/controller/README.md @@ -4,7 +4,7 @@ A single, lightweight Go container that replaces Portainer + scattered systemd scripts with a unified, Hungarian-language web dashboard for managing Docker Compose stacks, backups, storage, monitoring, and notifications on customer hardware. -**Current version: v0.30.2** +**Current version: v0.32.4** --- @@ -902,6 +902,7 @@ Periodic JSON push (default every 15 min) to the central felhom-hub service: - Stacks: deployed apps with versions and states - Config hash: SHA256 of `controller.yaml` for Hub-side config comparison - **App telemetry** (v0.28.0+): Per-stack memory (current/avg/peak) and CPU averages from the last 15 minutes of metrics data, plus log scan results (error/warning counts with deduplicated issues). Only non-protected, deployed stacks are included. Backward-compatible: old Hub versions silently ignore this field. +- **Controller telemetry** (v0.32.4+): The controller's own container (`felhom-controller`) is included as a special entry in the `app_telemetry` array. Its memory/CPU metrics come from the same metrics collector, and its log warnings/errors are scanned via `docker logs` using the same pipeline as app containers. This reuses all existing Hub telemetry infrastructure (memory trend charts, known issues, fleet aggregation) with zero Hub-side changes. Bearer token authentication, 3-attempt retry with 5-second backoff. Push status tracked via `PushStatus` struct (LastAttempt, LastSuccess, LastError, consecutive failures) — used by the monitoring page and alert system to show Hub connection health. @@ -919,7 +920,7 @@ Each report push now includes per-app telemetry data: - Returns `[]ContainerLogSummary` with `ErrorCount`, `WarnCount`, `RecentIssues []LogIssue`. **Report integration** (`report/telemetry.go`): -- `buildAppTelemetrySection()` calls both, then `buildAppTelemetry()` aggregates by stack — summing container metrics, merging issues, capping at 10 per app. +- `buildAppTelemetrySection()` calls both, then `buildAppTelemetry()` aggregates by stack — summing container metrics, merging issues, capping at 10 per app. Additionally, `buildControllerTelemetry()` creates a special entry for the controller container itself (`app_name: "felhom-controller"`). - Results stored as `[]AppTelemetry` in the `Report` struct field `app_telemetry`. #### Infrastructure Backup to Hub (`internal/report/infra_backup.go`)