anti
12e18b75db
feat(swarm): expose needs_resync on TopologySummary + upsert record_error
...
Two small observability follow-ups to the phase-1 agent/topology wiring:
TopologySummary now carries needs_resync so operators can see the
heartbeat's resync flag via the topology list/detail API without
dropping into the DB.
TopologyStore.record_error becomes an upsert — when a docker/compose
failure fires during the first materialise (put() never reached), we
still land a marker row so GET /topology/state surfaces the error and
the next heartbeat carries an empty applied_version_hash. That empty
hash is what master's heartbeat check relies on to flag the topology
for resync instead of assuming the apply succeeded.
2026-04-21 01:41:30 -04:00
..
2026-04-21 01:41:30 -04:00
2026-04-19 23:50:53 -04:00
2026-04-20 13:14:48 -04:00
2026-04-17 13:20:05 -04:00
2026-04-19 23:50:53 -04:00
2026-04-20 01:26:56 -04:00
2026-04-21 01:41:30 -04:00
2026-04-21 01:35:12 -04:00
2026-04-19 19:07:24 -04:00
2026-04-03 23:07:44 -03:00
2026-04-15 23:46:46 -04:00
2026-04-19 23:50:53 -04:00
2026-04-17 14:49:13 -04:00
2026-04-18 05:36:48 -04:00
2026-04-12 00:26:22 -04:00
2026-04-15 13:58:12 -04:00
2026-04-17 14:52:22 -04:00
2026-04-19 23:50:53 -04:00
2026-04-20 16:43:49 -04:00
2026-04-15 18:02:52 -04:00
2026-04-12 00:26:22 -04:00
2026-04-19 22:42:52 -04:00
2026-04-14 15:02:34 -04:00
2026-04-19 23:50:53 -04:00
2026-04-15 22:57:03 -04:00
2026-04-18 05:37:08 -04:00
2026-04-12 00:34:45 -04:00
2026-04-19 05:46:08 -04:00
2026-04-13 01:43:52 -04:00
2026-04-14 02:14:46 -04:00
2026-04-10 01:50:08 -04:00
2026-04-09 02:31:14 -04:00
2026-04-09 02:31:14 -04:00
2026-04-19 19:59:06 -04:00
2026-04-17 13:35:43 -04:00
2026-04-20 02:26:54 -04:00
2026-04-19 03:17:17 -04:00
2026-04-04 04:31:00 -03:00
2026-04-13 23:20:37 -04:00
2026-04-14 15:02:34 -04:00
2026-04-13 01:43:52 -04:00
2026-04-17 15:05:18 -04:00
2026-04-17 16:37:34 -04:00
2026-04-04 17:36:16 -03:00
2026-04-09 02:31:14 -04:00
2026-04-08 01:04:59 -04:00
2026-04-17 14:01:36 -04:00
2026-04-10 00:14:14 -04:00
2026-04-10 01:50:08 -04:00
2026-04-13 07:39:01 -04:00
2026-04-20 02:18:11 -04:00
2026-04-12 07:48:17 -04:00
2026-04-15 12:51:33 -04:00
2026-04-15 12:59:54 -04:00
2026-04-17 13:13:36 -04:00
2026-04-19 19:59:06 -04:00
2026-04-12 00:26:22 -04:00
2026-04-17 13:39:09 -04:00
2026-04-14 12:53:55 -04:00
2026-04-14 12:53:55 -04:00
2026-04-14 12:22:20 -04:00
2026-04-14 12:53:55 -04:00
2026-04-17 22:57:53 -04:00
2026-04-15 17:36:40 -04:00
2026-04-17 19:09:15 -04:00
2026-04-17 16:37:34 -04:00
2026-04-18 05:36:48 -04:00
2026-04-12 07:48:17 -04:00
2026-04-19 23:50:53 -04:00
2026-04-15 12:51:35 -04:00
2026-04-15 12:51:35 -04:00
2026-04-17 22:57:53 -04:00
2026-04-14 15:02:34 -04:00
2026-04-19 23:50:53 -04:00
2026-04-18 05:34:50 -04:00
2026-04-18 05:34:50 -04:00
2026-04-17 22:57:53 -04:00
2026-04-15 23:23:13 -04:00
2026-04-13 20:22:08 -04:00