From 07305f40834ac6bd50e2139cc9cccdb106bb3350 Mon Sep 17 00:00:00 2001 From: real-venus Date: Tue, 14 Jul 2026 12:27:26 -0700 Subject: [PATCH] feat(selfhost): bridge fleet-mode miner state to the ams-observability exporter Fleet mode (docker-compose.miner.yml) keeps miner state in a named miner-data volume, but ORB's ams-reporting-exporter reads the ledgers from a host bind mount defaulting to ~/.config/loopover-miner, so the two never line up and the Grafana AMS datasources stay silently empty (#5805). Add an opt-in docker-compose.miner.override.yml.example that relocates /data/miner onto the SAME ${LOOPOVER_MINER_CONFIG_DIR:-~/.config/loopover-miner} host path the exporter already uses, a DEPLOYMENT.md walkthrough with the combined three-file command, a cross-link comment on the exporter block, and a gitignore for the operator's copy. A static parity test asserts the override and exporter bind sources match and the docs can't silently drift. Additive: the named-volume default is unchanged for operators who don't enable observability. Closes #5805 --- .gitignore | 4 + docker-compose.yml | 3 + packages/loopover-miner/DEPLOYMENT.md | 18 ++++ .../docker-compose.miner.override.yml.example | 32 +++++++ .../ams-observability-compose-parity.test.ts | 89 +++++++++++++++++++ 5 files changed, 146 insertions(+) create mode 100644 packages/loopover-miner/docker-compose.miner.override.yml.example create mode 100644 test/unit/ams-observability-compose-parity.test.ts diff --git a/.gitignore b/.gitignore index 8af72bc464..cd442edb85 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,10 @@ secrets/* !secrets/README.md docker-compose.override.yml !docker-compose.override.yml.example +# Fleet-mode ↔ ams-observability bridge override an operator copies from the committed `.example` (#5805); their +# real host path stays local, only the `.example` template is tracked. +packages/loopover-miner/docker-compose.miner.override.yml +!packages/loopover-miner/docker-compose.miner.override.yml.example *.local # A second local-override naming shape beyond bare `*.local` (e.g. alertmanager.local): a host-specific # compose override named docker-compose.local-