teknium1
a4092ab217
fix(profiles): short-circuit s6 hooks on host before importing service_manager
...
Follow-up to @benbarclay's Docker s6 PR (#30136 ). The Phase 4 hooks
`_maybe_register_gateway_service` and `_maybe_unregister_gateway_service`
were already documented as "no-op on host", but they reached that no-op
by:
1. importing `hermes_cli.service_manager`
2. calling `get_service_manager()` (which calls `detect_service_manager()`)
3. checking `mgr.supports_runtime_registration()` and returning False
If anything in step 1 or 2 raised an unexpected exception (e.g. a host
machine with a partial s6 install — `/proc/1/comm == s6-svscan` somehow,
but `/run/s6/basedir` absent, or vice versa), the `except Exception`
in the hook would print a confusing "⚠ Could not register s6 gateway
service: ..." warning on a non-container machine that has never touched
the container.
Reorder so `detect_service_manager() != "s6"` is checked FIRST, and
return silently for any detection failure. Host machines now:
- never import the s6 backend
- never call get_service_manager()
- never print an s6-shaped warning under any failure mode
E2E confirmed on host Linux (systemd):
`_maybe_register_gateway_service(...)` produces empty stdout,
detect_service_manager() returns "systemd".
Existing tests updated to patch `detect_service_manager` for the s6
call-through cases (they previously relied on get_service_manager
being the only gate, which is no longer true). Added one new test —
`test_register_silent_when_detect_throws` — asserting that a broken
detector cannot leak a warning to host users.
cc @benbarclay — visible behavior change vs. your branch is one
fewer code path on host. Test changes are minimal (one helper +
`_patch_detect_s6` opt-in per s6 test). Happy to revert if you
prefer the original shape.
2026-05-24 18:07:47 -07:00
..
2026-05-19 11:10:51 -07:00
2026-04-20 22:21:21 -07:00
2026-04-24 07:14:00 -07:00
2026-05-19 01:28:32 -07:00
2026-04-26 05:43:31 -07:00
2026-05-09 11:10:53 -07:00
2026-04-28 03:45:52 -07:00
2026-05-23 21:03:51 -07:00
2026-04-21 14:31:48 -05:00
2026-04-24 04:53:32 -07:00
2026-05-17 16:56:37 -07:00
2026-05-18 10:26:55 -07:00
2026-05-18 20:10:52 -07:00
2026-05-17 16:56:37 -07:00
2026-05-06 13:29:54 -07:00
2026-04-14 01:43:45 -07:00
2026-05-23 17:47:36 -07:00
2026-04-24 03:00:33 -07:00
2026-05-08 14:27:40 -07:00
2026-05-24 04:25:32 -07:00
2026-05-19 14:51:21 -07:00
2026-05-18 20:01:34 -07:00
2026-05-18 10:14:38 -07:00
2026-05-18 10:14:38 -07:00
2026-05-04 05:07:13 -07:00
2026-05-15 14:45:43 -07:00
2026-04-23 23:28:34 -07:00
2026-05-13 17:32:22 -07:00
2026-05-18 21:38:05 -07:00
2026-04-09 16:24:53 -07:00
2026-04-29 23:18:55 -07:00
2026-04-11 01:52:58 -07:00
2026-05-17 02:29:41 -07:00
2026-05-09 23:17:25 -07:00
2026-05-09 23:17:25 -07:00
2026-05-15 02:31:30 -07:00
2026-05-17 02:29:41 -07:00
2026-05-20 19:14:21 -07:00
2026-05-13 09:34:15 -07:00
2026-04-21 14:23:45 -07:00
2026-04-29 23:18:55 -07:00
2026-04-17 19:03:26 -07:00
2026-04-28 01:40:25 -07:00
2026-05-10 22:36:19 -07:00
2026-04-29 23:18:55 -07:00
2026-05-24 18:05:33 -07:00
2026-04-10 03:44:43 -07:00
2026-04-28 01:18:09 -07:00
2026-04-24 05:09:08 -07:00
2026-04-24 03:33:29 -07:00
2026-04-24 05:09:08 -07:00
2026-05-18 17:39:50 +00:00
2026-05-05 05:15:54 -07:00
2026-05-09 18:43:40 -07:00
2026-05-07 05:27:47 -07:00
2026-05-07 05:27:47 -07:00
2026-05-21 23:40:58 -07:00
2026-04-25 18:47:53 -07:00
2026-05-19 14:50:38 -07:00
2026-04-30 06:43:22 -04:00
2026-04-30 02:30:20 -07:00
2026-05-12 13:59:22 -04:00
2026-05-24 15:43:48 -07:00
2026-05-18 16:34:24 +05:30
2026-04-16 06:48:33 -07:00
2026-05-09 11:04:46 -07:00
2026-04-20 22:14:29 -07:00
2026-04-20 22:14:29 -07:00
2026-04-17 05:08:07 -07:00
2026-05-03 03:25:45 -07:00
2026-04-14 23:13:11 -07:00
2026-05-09 13:36:33 -07:00
2026-05-19 00:14:39 -07:00
2026-05-13 18:40:14 -07:00
2026-05-23 17:17:05 -07:00
2026-05-04 15:31:15 -04:00
2026-05-23 05:24:57 -07:00
2026-04-09 16:24:53 -07:00
2026-05-12 15:06:25 -07:00
2026-05-09 17:54:17 -07:00
2026-05-24 18:05:33 -07:00
2026-05-15 14:45:43 -07:00
2026-05-19 17:27:24 -07:00
2026-05-19 11:23:15 -07:00
2026-05-19 17:27:24 -07:00
2026-05-19 11:23:15 -07:00
2026-04-24 04:46:17 -07:00
2026-04-20 23:20:33 -07:00
2026-05-08 03:22:11 -07:00
2026-05-13 22:55:09 -07:00
2026-04-20 20:53:51 -07:00
2026-04-29 20:33:29 -07:00
2026-05-22 04:10:45 -07:00
2026-05-21 19:17:45 -07:00
2026-05-13 22:31:11 -07:00
2026-05-19 17:26:23 -07:00
2026-05-18 20:17:10 -07:00
2026-05-18 21:33:08 -07:00
2026-05-19 01:28:32 -07:00
2026-05-18 20:17:48 -07:00
2026-05-24 15:48:58 -07:00
2026-05-18 09:40:44 -07:00
2026-05-18 20:26:02 -07:00
2026-05-18 20:47:01 -07:00
2026-05-23 02:34:34 -07:00
2026-05-23 23:10:36 -07:00
2026-05-07 13:04:41 -07:00
2026-05-07 13:04:41 -07:00
2026-05-18 21:10:12 -07:00
2026-05-06 03:50:59 -07:00
2026-04-11 17:23:36 -07:00
2026-05-19 01:28:32 -07:00
2026-05-07 05:17:03 -07:00
2026-05-07 05:17:03 -07:00
2026-04-29 21:56:47 -07:00
2026-05-17 02:29:41 -07:00
2026-05-20 09:18:23 -07:00
2026-05-11 18:08:16 -07:00
2026-04-24 05:24:54 -07:00
2026-04-17 06:33:21 -07:00
2026-05-13 13:21:33 -07:00
2026-04-25 18:47:53 -07:00
2026-04-16 01:16:14 -07:00
2026-05-19 10:57:35 -07:00
2026-04-24 04:58:46 -07:00
2026-04-08 19:58:16 -07:00
2026-05-08 14:55:40 -07:00
2026-04-22 17:33:42 -07:00
2026-05-17 02:29:41 -07:00
2026-04-20 22:14:03 -07:00
2026-05-13 18:40:14 -07:00
2026-04-13 04:33:52 -07:00
2026-05-22 14:17:40 -07:00
2026-04-26 19:02:55 -07:00
2026-04-24 04:58:46 -07:00
2026-05-04 12:38:15 -07:00
2026-05-09 23:17:25 -07:00
2026-05-06 09:08:33 -07:00
2026-05-17 02:29:41 -07:00
2026-04-21 05:19:43 -07:00
2026-04-24 05:20:05 -07:00
2026-05-05 04:37:47 -07:00
2026-05-18 16:34:10 +05:30
2026-05-23 17:49:47 -07:00
2026-04-17 01:05:09 -07:00
2026-04-21 21:30:10 -07:00
2026-05-22 19:50:32 -07:00
2026-05-24 18:04:54 -07:00
2026-05-15 22:12:57 -07:00
2026-05-09 13:02:25 -07:00
2026-05-17 13:54:12 -07:00
2026-05-08 10:04:32 -07:00
2026-05-24 18:07:47 -07:00
2026-05-13 09:34:15 -07:00
2026-05-23 01:43:52 -07:00
2026-05-05 04:08:11 -07:00
2026-04-28 01:28:25 -07:00
2026-05-18 20:09:32 -07:00
2026-05-21 16:40:04 +05:30
2026-04-09 14:20:16 -07:00
2026-05-07 05:10:33 -07:00
2026-04-28 01:47:20 -07:00
2026-05-08 14:27:40 -07:00
2026-04-27 08:52:12 -07:00
2026-05-21 07:48:53 -07:00
2026-05-12 01:02:25 -07:00
2026-05-24 15:15:16 -07:00
2026-05-16 23:00:58 -05:00
2026-05-24 18:05:33 -07:00
2026-04-26 18:49:48 -07:00
2026-05-10 13:06:25 -07:00
2026-05-16 16:51:42 -07:00
2026-04-26 18:31:07 -07:00
2026-05-15 10:36:38 +05:30
2026-05-02 02:08:06 -07:00
2026-05-15 10:36:38 +05:30
2026-04-29 21:56:51 -07:00
2026-04-10 21:15:59 -07:00
2026-05-19 14:23:19 -07:00
2026-04-25 22:02:02 -07:00
2026-04-26 18:49:48 -07:00
2026-05-19 01:28:32 -07:00
2026-05-05 06:12:42 -07:00
2026-05-13 13:28:25 -07:00
2026-05-13 13:28:25 -07:00
2026-04-24 03:46:46 -07:00
2026-05-20 15:04:01 -07:00
2026-05-18 20:05:23 -07:00
2026-05-08 17:01:12 -07:00
2026-05-07 05:53:14 -07:00
2026-05-08 16:07:23 -07:00
2026-04-28 12:27:36 -07:00
2026-05-17 11:35:57 -07:00
2026-04-17 01:05:09 -07:00
2026-05-06 03:55:47 -07:00
2026-05-08 11:18:14 -07:00
2026-05-09 13:37:19 -07:00
2026-04-10 02:57:39 -07:00
2026-04-20 00:52:50 -07:00
2026-04-13 16:32:04 -07:00
2026-05-22 01:24:11 -07:00
2026-05-24 18:04:54 -07:00
2026-05-15 14:45:43 -07:00
2026-05-22 00:16:52 -05:00
2026-05-22 14:27:38 -07:00
2026-05-14 14:28:14 -07:00
2026-05-15 14:45:43 -07:00
2026-05-19 11:10:51 -07:00
2026-04-19 22:43:09 -07:00
2026-04-17 21:29:24 -07:00
2026-05-19 03:01:02 -07:00
2026-05-17 02:29:41 -07:00
2026-05-08 14:55:40 -07:00
2026-04-30 19:44:26 -07:00
2026-05-15 12:11:32 -07:00
2026-05-06 15:49:59 -07:00
2026-05-17 16:56:37 -07:00
2026-05-18 21:26:45 -07:00
2026-05-24 15:00:44 -07:00
2026-05-24 17:47:24 -07:00
2026-05-24 15:00:44 -07:00
2026-05-11 09:27:05 -07:00
2026-05-24 04:55:18 -07:00
2026-05-15 14:32:14 -07:00
2026-05-17 12:35:01 -07:00
2026-05-20 09:18:23 -07:00
2026-04-28 03:45:52 -07:00