admin
6d90374f63
gates / gates (push) Successful in 45s
v0.328.0: the catalog allow-list — the box refuses container rights a template asks for and the box does not give (R-971, D2 = A)
...
internal/privpolicy checks the RENDERED compose (privileged, cap_add, devices, host namespaces, security_opt,
sysctls, volumes_from, build/include/extends, env_file/config files outside the stack dir, aliasing named volumes,
binds outside the box's data roots, the Docker socket, propagation, ${VAR} in a privileged key) against an
allow-list compiled into the controller (one entry: homepage's read-only socket). Asked before every compose
write: the 15-minute sync, the guarded update/ladder step, the install, both settings changes, both restores
(before the stop). A refusal writes nothing, keeps the app on its last good compose, raises the operator-only
event app_definition_refused once per definition and puts one line on the app page. The sync never copies a
template named like a controller infra stack. Structural guard TestAllowList_IsWiredIntoEveryComposeWriter.
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-10-17 16:34:12 +02:00
..
2026-09-20 14:31:52 +02:00
2026-09-29 09:57:58 +02:00
2026-10-06 15:15:33 +02:00
2026-10-17 10:18:53 +02:00
2026-09-29 16:19:12 +02:00
2026-10-08 10:07:03 +02:00
2026-10-14 16:58:20 +02:00
2026-10-14 16:58:20 +02:00
2026-10-17 16:34:12 +02:00
2026-10-17 16:34:12 +02:00
2026-10-17 16:34:12 +02:00
2026-10-05 23:12:59 +02:00
2026-10-15 18:37:50 +02:00
2026-07-26 08:12:57 +02:00
2026-07-14 18:46:32 +02:00
2026-07-26 08:12:57 +02:00
2026-07-14 18:46:32 +02:00
2026-10-01 07:36:26 +02:00
2026-10-01 07:36:26 +02:00
2026-10-16 03:57:49 +02:00
2026-07-26 08:12:57 +02:00
2026-07-26 08:12:57 +02:00
2026-08-23 07:25:00 +02:00
2026-10-16 22:46:00 +02:00
2026-10-15 09:25:43 +02:00
2026-10-17 09:36:34 +02:00
2026-06-14 21:58:49 +02:00
2026-10-15 21:21:54 +02:00
2026-07-05 11:52:04 +02:00
2026-10-17 16:34:12 +02:00
2026-08-02 18:40:17 +02:00
2026-09-30 10:31:55 +02:00
2026-09-24 12:18:39 +02:00
2026-09-24 13:01:31 +02:00
2026-07-12 10:07:47 +02:00
2026-08-04 18:21:17 +02:00
2026-10-02 07:42:47 +02:00
2026-10-02 07:42:47 +02:00
2026-10-17 12:59:43 +02:00
2026-10-17 12:59:43 +02:00
2026-10-17 12:59:43 +02:00
2026-10-16 17:17:26 +02:00
2026-07-22 13:49:57 +02:00
2026-09-23 20:25:28 +02:00
2026-10-15 18:37:50 +02:00
2026-06-13 09:25:31 +02:00
2026-10-01 21:11:22 +02:00
2026-10-05 07:13:02 +02:00
2026-10-05 07:13:02 +02:00
2026-10-05 07:13:02 +02:00
2026-07-26 08:15:47 +02:00
2026-06-11 14:56:42 +02:00
2026-10-14 22:39:58 +02:00
2026-10-17 13:56:45 +02:00
2026-06-26 11:00:06 +02:00
2026-09-23 20:25:28 +02:00
2026-09-30 22:29:33 +02:00
2026-09-30 22:29:33 +02:00
2026-09-24 16:49:43 +02:00
2026-09-13 11:41:31 +02:00
2026-10-15 09:25:43 +02:00
2026-09-26 10:35:22 +02:00
2026-09-26 10:35:22 +02:00
2026-09-26 10:35:22 +02:00
2026-09-26 10:35:22 +02:00
2026-10-05 20:12:56 +02:00
2026-07-25 07:37:02 +02:00
2026-07-21 16:19:58 +02:00
2026-06-29 13:13:40 +02:00
2026-09-18 11:44:30 +02:00
2026-10-17 16:34:12 +02:00
2026-10-15 10:32:51 +02:00
2026-10-15 09:54:49 +02:00
2026-09-20 14:31:52 +02:00
2026-10-15 18:37:50 +02:00
2026-06-13 11:12:43 +02:00
2026-10-16 15:19:14 +02:00
2026-07-14 17:45:53 +02:00
2026-06-14 21:58:49 +02:00
2026-06-15 19:26:02 +02:00
2026-06-14 19:42:57 +02:00
2026-09-27 17:59:04 +02:00
2026-09-23 17:16:57 +02:00
2026-09-23 17:16:57 +02:00
2026-09-26 10:35:22 +02:00
2026-09-27 17:59:04 +02:00
2026-10-06 11:39:25 +02:00
2026-09-24 08:15:27 +02:00
2026-10-17 16:34:12 +02:00
2026-07-30 16:33:06 +02:00
2026-09-13 19:26:50 +02:00
2026-09-13 19:26:50 +02:00
2026-09-13 22:50:18 +02:00
2026-09-16 16:55:55 +02:00
2026-10-17 13:26:46 +02:00
2026-10-05 22:24:22 +02:00
2026-10-05 23:12:59 +02:00
2026-10-05 20:12:56 +02:00
2026-10-05 20:12:56 +02:00
2026-10-05 21:55:37 +02:00
2026-09-22 21:48:01 +02:00
2026-09-23 17:16:57 +02:00
2026-09-23 18:06:29 +02:00
2026-10-01 07:36:26 +02:00
2026-09-24 08:15:27 +02:00
2026-09-24 08:15:27 +02:00
2026-09-24 12:18:39 +02:00
2026-09-24 16:49:43 +02:00
2026-09-25 11:19:27 +02:00
2026-09-24 16:49:43 +02:00
2026-09-24 16:49:43 +02:00
2026-09-24 16:49:43 +02:00
2026-10-05 23:12:59 +02:00
2026-09-26 10:35:22 +02:00
2026-09-27 17:59:04 +02:00
2026-09-30 10:31:55 +02:00
2026-10-05 23:12:59 +02:00
2026-10-01 21:11:22 +02:00
2026-10-15 14:34:33 +02:00
2026-10-05 07:13:02 +02:00
2026-10-15 14:34:33 +02:00
2026-10-16 22:46:00 +02:00
2026-10-17 13:37:55 +02:00
2026-10-05 23:12:59 +02:00
2026-10-15 09:25:43 +02:00
2026-10-15 14:34:33 +02:00
2026-10-15 14:34:33 +02:00
2026-07-26 08:12:57 +02:00
2026-07-18 13:06:41 +02:00
2026-07-20 10:46:21 +02:00
2026-10-17 09:36:34 +02:00
2026-10-16 22:46:00 +02:00
2026-10-15 09:54:49 +02:00
2026-09-29 16:19:12 +02:00
2026-10-15 09:54:49 +02:00
2026-09-29 09:57:58 +02:00
2026-10-08 10:07:03 +02:00
2026-07-26 08:15:47 +02:00
2026-10-05 22:24:22 +02:00
2026-07-20 17:01:52 +02:00
2026-09-28 18:38:30 +02:00
2026-09-30 10:31:55 +02:00
2026-09-24 08:15:27 +02:00
2026-09-30 22:29:33 +02:00
2026-09-24 12:18:39 +02:00
2026-09-24 12:18:39 +02:00
2026-09-23 13:51:21 +02:00
2026-09-26 10:35:22 +02:00
2026-09-13 17:16:24 +02:00
2026-10-06 15:15:33 +02:00
2026-09-21 14:23:59 +02:00
2026-09-24 16:49:43 +02:00
2026-09-25 11:19:27 +02:00
2026-07-25 07:37:02 +02:00
2026-08-04 18:17:05 +02:00
2026-08-04 18:17:05 +02:00