Skip to content

Commit 46cc30d

Browse files
committed
Per-container Neo4j probing + ServerONLY PDB entry (v0.9.0)
Mirrors the rancher: block pattern from v0.6.0 (caches) and v0.8.0 (apps) onto Neo4jServiceSpec. Each cluster member gets its own SHOW DATABASES + count probe directly at http://<primaryIpAddress>:7474 rather than going through the LB. YAML: - PDB Neo4j (pdb.virtualflybrain.org, 1s39, scale 3) gains a rancher: block. - New "PDB Neo4j -- ServerONLY (1s262)" entry (scale 2) for the server-only PDB replica. - KB Neo4j stays LB-fronted (single instance). Storage: new container column on neo4j_history with automatic migration (same pattern as cache_history in v0.6.0 and app_history in v0.8.0). neo4j_series aggregates via MAX(node_count) across containers per ts. Page card: cluster summary at the top with ok-count, max node count and a "mixed" badge when members disagree, plus a per- container table. Falls back to LB probe transparently when the Rancher API call fails. /api/neo4j response reshapes to summary + containers[]. Verified end-to-end: 3 PDB + 2 ServerONLY containers enumerated and probed in parallel; KB still queries cleanly via the LB (1,621,245 nodes online); migration of legacy neo4j_history adds the container column without data loss.
1 parent 94d1cc1 commit 46cc30d

4 files changed

Lines changed: 296 additions & 72 deletions

File tree

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,24 @@
22

33
All notable changes to vfb-status are recorded here. The format is loosely based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
44

5+
## [0.9.0] — 2026-06-04
6+
7+
Per-container probing for `neo4j_services` + new ServerONLY PDB entry.
8+
9+
### Added
10+
11+
- Optional `rancher:` block on `neo4j_services` entries (default `container_port: 7474`, `container_scheme: http`). When set, every probe enumerates the service's running containers via the Rancher v1 API and runs the two-stage `SHOW DATABASES` + `MATCH count` check against each container's own HTTP listener at `http://<primaryIpAddress>:7474`. Falls back to the LB-fronted single probe if the API isn't configured or fails.
12+
- New `container` column on `neo4j_history` (auto-migrated on existing DBs) + matching `idx_neo4j_service_container_ts` index.
13+
- PDB Neo4j (`pdb.virtualflybrain.org`, service `1s39`, scale 3) now probes each cluster member individually.
14+
- New `PDB Neo4j — ServerONLY (1s262)` entry (scale 2) — the server-only replica that doesn't run the app sidecar. Surfaces it alongside the main PDB so any divergence between primary and replica is immediately visible.
15+
- KB Neo4j stays single-LB (no `rancher:` block) — it's a single-instance service so per-container probing adds no information.
16+
17+
### Changed
18+
19+
- Neo4j card layout now mirrors caches/apps: cluster summary at the top (member count, ok count, max node count + `⚠ mixed` flag if containers report different totals, average latency) plus a per-container breakdown table.
20+
- `neo4j_series` aggregates across containers per ts via `MAX(node_count)` — picks the leader's count when members disagree so a stale follower doesn't drag the chart down.
21+
- `/api/neo4j` now returns `summary` + `containers[]` per service (existing top-level fields removed — clients reading the old shape need updating).
22+
523
## [0.8.2] — 2026-06-01
624

725
### Added
@@ -203,6 +221,7 @@ Initial release. Self-contained Docker uptime tracker for public-facing Virtual
203221
- Four subdomains (`nas0`, `iip3d`, `nblast`, `abd1-5.catmaid`) ship with `verify_tls: false` because the production cert SAN doesn't cover them. The servers are up; the cert provisioning is a separate problem.
204222
- Kubernetes nodes are intentionally not handled here — separate checks planned for a later release.
205223

224+
[0.9.0]: https://github.com/VirtualFlyBrain/vfb-status/releases/tag/v0.9.0
206225
[0.8.2]: https://github.com/VirtualFlyBrain/vfb-status/releases/tag/v0.8.2
207226
[0.8.1]: https://github.com/VirtualFlyBrain/vfb-status/releases/tag/v0.8.1
208227
[0.8.0]: https://github.com/VirtualFlyBrain/vfb-status/releases/tag/v0.8.0

0 commit comments

Comments
 (0)