Commit Graph

11 Commits

Author SHA1 Message Date
zhi
e136f1b290 fix: correct telemetry identifier and visibility when containerized
Three related fixes for running Monitor inside a container with
/:/host:ro bind-mounted and network_mode: host.

* config: when HF_MONITER_ROOTFS is set, read the default identifier
  from <rootFS>/etc/hostname instead of os.Hostname(). Under
  network_mode: host the UTS namespace is not shared, so os.Hostname()
  returns a random docker-assigned string that changes across
  recreations, causing the backend to treat each restart as a new
  server.

* telemetry: log gopsutil errors from BuildPayload instead of silently
  swallowing them. Previously a missing /host mount would send a
  payload full of zeroed fields with no indication of failure.

* docker-compose: drop the 'ports:' block. It is silently ignored
  under network_mode: host (the bridge server binds directly on the
  host's 127.0.0.1:MONITOR_PORT).
2026-04-15 23:02:44 +00:00
758d3d1c59 refactor: use heartbeat endpoint consistently 2026-04-04 08:05:49 +00:00
65f521dce0 feat: support monitor cli override flags 2026-04-04 07:53:34 +00:00
6e60fae559 Merge pull request 'Merge dev-2026-03-21 into main' (#1) from dev-2026-03-21 into main
Reviewed-on: #1
2026-03-22 14:16:01 +00:00
zhi
dc05fa01d1 feat: add POST /openclaw endpoint and enrich heartbeats with OpenClaw metadata
- Bridge server now accepts POST /openclaw from OpenClaw plugin
- OpenClawMeta struct stores version, plugin_version, and agents
- Heartbeat sendOnce() enriches payload with plugin metadata when available
- Telemetry Payload adds optional openclaw_version field
- README updated to document /openclaw endpoint and metadata enrichment
- All communication remains optional — Monitor functions without plugin data
2026-03-22 01:37:15 +00:00
zhi
360743ba6b Add local monitor bridge service 2026-03-21 16:07:00 +00:00
zhi
ccfa49bc7d feat: add MONITOR_PORT env var and monitorPort config field
- Added MonitorPort field to Config struct (TODO 5.1)
- Config loads from MONITOR_PORT or HF_MONITOR_PORT env vars
- Added to Dockerfile env defaults
- Updated config.example.json
- Merge function handles monitorPort from file config

Prepares Monitor for local plugin communication bridge (TODO 5.1, 5.2)
2026-03-21 15:25:02 +00:00
zhi
739b8fcd74 feat: switch monitor client to Docker-first runtime
- remove install.sh-based deployment path
- add multi-stage Dockerfile for HarborForge.Monitor
- support HF_MONITER_* env vars and keep HF_MONITOR_* compatibility
- add rootfs-aware host metric collection for Docker deployment
2026-03-20 11:00:42 +00:00
zhi
8cc3781454 fix: keep heartbeat running when nginx site listing is unavailable 2026-03-20 11:00:42 +00:00
zhi
00d020806f fix: include CLI entrypoint in repository 2026-03-20 11:00:42 +00:00
zhi
0000356e5d feat: add Go-based HarborForge monitor client
- collect CPU, memory, disk, swap, load, and uptime telemetry
- detect nginx and list /etc/nginx/sites-enabled entries
- send heartbeat-v2 payload with API key auth
- provide install script, config example, and systemd unit
2026-03-20 11:00:42 +00:00