Teknium
60b6269142
feat(gateway): gateway-owned control socket — identify/status verbs, fleet consumers prefer it over scans ( #92091 step 1)
...
The gateway now creates a local control socket at startup (Unix domain
socket at $HERMES_HOME/gateway.sock with a pointer-file fallback for
long paths; named pipe on Windows) and answers versioned JSON verbs:
- identify: pid, profile, hermes_home, code_sha/code_version (#91283
stamps, now queryable live), self-declared supervisor kind, start_time
- status: the live runtime-status payload, answered by the process itself
Bound immediately after the PID-file O_EXCL claim (the moment the
process becomes the authoritative gateway for its HERMES_HOME), removed
on clean shutdown; a successor clears any stale socket on bind. Strictly
non-fatal: bind failure only means consumers use the old path.
Consumers migrated (observability only, scan layer demoted to fallback,
never deleted):
- collect_fleet_versions() (post-update fleet matrix): prefers a live
identify answer over gateway_state.json; entries carry source=socket
- collect_runtime_inventory() (hermes update --plan): prefers the
socket, and takes the gateway's own supervisor declaration instead of
inferring it from PID scans
Old gateways mid-upgrade, crashed processes, and bind failures behave
exactly as before. Never a TCP port; filesystem/pipe ACLs are the auth
boundary (0600 socket).
Part of #91277 (fleet-update reliability). Design: #92091 .
2026-08-22 16:45:00 -07:00
..
2026-08-14 21:39:01 +00:00
2026-08-12 18:52:08 -07:00
2026-08-18 20:42:06 -04:00
2026-07-22 16:51:01 -04:00
2026-08-21 15:23:49 -07:00
2026-08-18 02:27:18 -07:00
2026-08-21 05:16:27 -07:00
2026-08-15 03:54:07 -07:00
2026-08-22 00:05:51 -07:00
2026-08-19 16:32:17 -07:00
2026-08-16 02:03:22 -07:00
2026-08-20 03:05:46 -07:00
2026-08-16 06:32:08 -07:00
2026-08-15 00:33:01 -07:00
2026-08-02 14:55:32 +05:30
2026-08-08 23:56:46 -07:00
2026-07-26 21:13:03 -07:00
2026-08-12 16:26:55 -07:00
2026-08-07 08:57:39 -07:00
2026-08-07 08:57:39 -07:00
2026-08-19 19:34:36 -07:00
2026-08-21 14:38:41 -07:00
2026-07-11 12:28:55 +05:30
2026-08-21 14:39:02 -07:00
2026-07-31 21:21:20 -07:00
2026-08-17 15:47:17 -07:00
2026-08-07 17:45:06 +05:30
2026-07-29 23:16:18 -07:00
2026-08-20 21:54:25 -07:00
2026-08-19 19:34:36 -07:00
2026-08-02 20:21:59 -07:00
2026-08-08 15:10:35 +05:30
2026-08-16 06:32:08 -07:00
2026-08-22 03:59:28 +05:30
2026-07-29 11:53:39 -07:00
2026-08-20 01:46:08 -07:00
2026-08-19 19:34:36 -07:00
2026-07-29 08:42:16 -07:00
2026-08-18 12:51:36 -07:00
2026-07-01 23:51:54 +05:30
2026-08-20 04:30:33 -07:00
2026-06-01 19:51:03 -07:00
2026-08-22 20:40:23 +05:30
2026-08-19 08:52:03 -07:00
2026-08-20 04:50:39 -07:00
2026-08-20 03:05:46 -07:00
2026-08-01 10:52:34 -07:00
2026-07-22 21:17:21 -07:00
2026-08-19 19:22:48 -07:00
2026-07-19 03:02:21 -07:00
2026-08-20 19:56:14 -07:00
2026-08-16 22:06:41 -07:00
2026-08-10 15:13:29 -04:00
2026-08-16 10:51:50 -07:00
2026-06-27 21:30:37 -07:00
2026-08-21 23:01:30 -07:00
2026-06-24 18:56:26 -07:00
2026-08-13 02:38:28 -07:00
2026-06-30 17:29:23 -07:00
2026-07-07 04:09:35 -07:00
2026-08-13 02:38:28 -07:00
2026-08-19 23:03:58 -07:00
2026-08-19 16:16:37 -07:00
2026-08-15 13:28:14 -07:00
2026-07-26 23:41:54 -07:00
2026-07-31 22:35:26 -07:00
2026-07-26 18:10:34 -07:00
2026-08-20 02:06:05 -07:00
2026-08-21 14:13:28 +10:00
2026-08-16 06:26:12 -07:00
2026-08-22 16:26:51 +05:30
2026-08-15 04:33:47 -07:00
2026-08-21 02:48:14 +08:00
2026-08-05 11:47:05 -04:00
2026-08-18 16:08:29 -07:00
2026-08-13 23:10:16 +05:30
2026-07-26 17:46:29 -07:00
2026-07-15 07:39:42 -07:00
2026-08-21 14:38:41 -07:00
2026-07-01 16:25:48 -05:00
2026-08-17 14:16:21 +05:30
2026-07-15 07:39:17 -07:00
2026-08-10 12:43:46 -07:00
2026-07-15 07:39:17 -07:00
2026-08-10 12:43:46 -07:00
2026-08-17 14:16:21 +05:30
2026-07-27 21:10:51 -07:00
2026-08-21 13:41:39 -07:00
2026-07-05 13:42:46 -07:00
2026-08-18 16:08:29 -07:00
2026-08-21 15:23:49 -07:00
2026-06-19 07:46:33 -07:00
2026-08-14 22:37:46 -07:00
2026-08-15 02:03:24 -07:00
2026-08-16 02:24:32 -07:00
2026-05-26 12:48:14 -07:00
2026-06-21 19:05:27 -07:00
2026-08-07 09:44:21 -07:00
2026-08-02 22:44:38 +05:30
2026-06-22 19:16:47 -05:00
2026-08-19 23:15:01 -07:00
2026-07-29 11:53:39 -07:00
2026-08-12 21:50:35 -07:00
2026-08-12 21:50:35 -07:00
2026-08-01 14:52:18 -07:00
2026-08-14 01:31:31 -07:00
2026-08-14 01:06:13 -07:00
2026-08-20 20:21:12 -07:00
2026-08-21 14:38:19 -07:00
2026-08-14 01:06:13 -07:00
2026-08-21 00:24:32 -07:00
2026-08-21 04:39:31 -07:00
2026-08-21 15:02:29 -07:00
2026-08-07 19:47:40 +05:30
2026-06-21 22:43:48 -07:00
2026-07-29 10:13:50 -07:00
2026-08-19 22:44:11 -07:00
2026-08-14 21:35:30 -07:00
2026-07-29 10:14:11 -07:00
2026-08-19 19:41:52 -07:00
2026-07-29 17:51:40 -05:00
2026-07-02 05:10:31 -07:00
2026-08-09 10:33:58 -07:00
2026-08-15 00:32:44 -07:00
2026-08-12 20:10:51 -07:00
2026-05-23 01:07:01 -04:00
2026-08-12 20:10:51 -07:00
2026-08-12 18:39:22 -07:00
2026-08-12 18:52:08 -07:00
2026-08-12 19:56:44 -07:00
2026-08-19 19:34:36 -07:00
2026-08-19 08:52:03 -07:00
2026-07-28 22:42:19 -07:00
2026-08-20 04:47:38 -07:00
2026-07-15 07:39:17 -07:00
2026-08-06 05:00:17 +05:30
2026-08-21 12:48:53 -07:00
2026-06-25 16:40:26 -05:00
2026-08-15 00:33:11 -07:00
2026-08-16 06:24:56 -07:00
2026-07-31 21:21:16 -07:00
2026-08-21 00:24:32 -07:00
2026-08-21 00:24:32 -07:00
2026-07-29 11:53:39 -07:00
2026-05-28 02:36:09 -07:00
2026-08-20 12:16:20 +05:30
2026-07-29 10:14:11 -07:00
2026-08-14 13:51:26 -07:00
2026-06-27 15:59:00 -07:00
2026-08-19 08:52:03 -07:00
2026-08-10 17:02:56 -07:00
2026-07-29 17:13:48 +05:30
2026-08-21 15:02:29 -07:00
2026-06-17 01:04:26 +08:00
2026-08-15 01:55:22 -07:00
2026-05-29 13:24:12 -07:00
2026-07-29 11:53:39 -07:00
2026-08-01 10:47:20 -07:00
2026-08-08 12:32:23 -07:00
2026-08-14 21:07:21 -07:00
2026-08-15 02:04:49 -07:00
2026-07-07 12:36:41 -07:00
2026-08-15 02:04:49 -07:00
2026-07-26 19:30:21 -07:00
2026-07-31 22:36:55 -07:00
2026-08-15 00:31:37 -07:00
2026-07-17 04:53:38 -07:00
2026-08-12 19:43:47 -07:00
2026-08-20 02:06:05 -07:00
2026-07-26 08:43:24 -07:00
2026-08-19 19:34:36 -07:00
2026-08-21 04:00:16 -07:00
2026-08-08 15:10:35 +05:30
2026-07-09 19:57:54 -07:00
2026-08-19 19:34:36 -07:00
2026-08-05 11:59:33 +05:30
2026-07-21 21:00:43 -05:00
2026-07-29 09:33:48 -07:00
2026-08-18 02:27:18 -07:00
2026-07-24 16:00:03 -07:00
2026-07-31 23:18:12 -07:00
2026-06-25 16:40:26 -05:00
2026-08-07 08:58:14 -07:00
2026-08-16 01:54:35 -07:00
2026-05-28 22:26:25 -07:00
2026-08-07 17:45:06 +05:30
2026-06-05 03:20:10 -07:00
2026-08-15 18:15:18 -07:00
2026-08-02 16:16:36 -07:00
2026-08-20 04:08:57 -07:00
2026-08-19 16:48:40 -07:00
2026-07-29 11:53:39 -07:00
2026-08-06 05:00:17 +05:30
2026-08-22 00:05:51 -07:00
2026-08-22 16:45:00 -07:00
2026-07-31 22:28:46 -07:00
2026-08-22 16:45:00 -07:00
2026-08-14 16:43:37 -07:00
2026-07-29 19:48:37 -07:00
2026-08-07 10:11:05 -07:00
2026-08-15 01:05:39 -07:00
2026-07-29 16:21:54 -07:00
2026-08-16 20:53:44 -07:00
2026-08-15 01:21:40 -07:00
2026-08-23 02:55:03 +05:30
2026-07-24 11:45:57 -07:00
2026-07-29 10:14:11 -07:00
2026-08-01 14:30:16 -07:00
2026-08-19 23:55:20 -07:00
2026-08-19 23:55:20 -07:00
2026-06-09 23:21:14 -07:00
2026-08-06 05:00:17 +05:30