You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provision the observability stack (InfluxDB + Grafana) via the deployment engine, supporting two first-class topologies:
Co-located — stack runs on the control Pi alongside the runtime (current default).
Separate host — stack runs on a dedicated monitoring host; control Pis push telemetry to it (long-term preferred form).
Split out of #137 (G3): the observability half is Docker/topology-heavy and has a very different blocker profile from telemetry-export provisioning.
Context
Deep assessment (2026-07) established that the control Pi only needs the telemetry-export service pointed at an InfluxDB URL + token (that is #137). Where InfluxDB/Grafana actually run is this issue. Observability ships today as the anolis-<ver>-observability.tar.gz release asset deployed via docker compose; workbench currently runs it on the operator's host (a de-facto separate-host).
Scope / open questions
Docker prerequisite:install.sh installs only i2c-tools; nothing installs Docker. Decide graceful-skip-if-absent vs fail-fast; documented operator precondition. install.sh must NOT apt-install Docker (offline guarantee).
arm64 images: verify the influxdb/grafana image tags publish linux/arm64 manifests; pin by digest.
Co-located mode: run docker compose as root (never add the nologin anolis user to the docker group). Note runtime/monitoring resource contention on the control Pi.
Separate-host mode: provisioning target is the monitoring host, not the control Pi — define the invocation path.
Extract/start flag: a dedicated flag — NOT the global --no-start (which gates the runtime's start + health; overloading it would stop the runtime).
What
Provision the observability stack (InfluxDB + Grafana) via the deployment engine, supporting two first-class topologies:
Split out of #137 (G3): the observability half is Docker/topology-heavy and has a very different blocker profile from telemetry-export provisioning.
Context
Deep assessment (2026-07) established that the control Pi only needs the telemetry-export service pointed at an InfluxDB URL + token (that is #137). Where InfluxDB/Grafana actually run is this issue. Observability ships today as the
anolis-<ver>-observability.tar.gzrelease asset deployed viadocker compose; workbench currently runs it on the operator's host (a de-facto separate-host).Scope / open questions
install.shinstalls only i2c-tools; nothing installs Docker. Decide graceful-skip-if-absent vs fail-fast; documented operator precondition.install.shmust NOT apt-install Docker (offline guarantee).linux/arm64manifests; pin by digest.docker composeas root (never add the nologinanolisuser to the docker group). Note runtime/monitoring resource contention on the control Pi.--no-start(which gates the runtime's start + health; overloading it would stop the runtime).docker save/loadof arm64 images for air-gap — no CI produces these today; deferred to Define packaging & distribution strategy for shipped components (future) #100.do_uninstallgainsdocker compose down.Child of #139.