IvanHunters
3ce8279019
fix(marketplace): prune stale taps, preserve source state, scope RBAC, pull by digest
...
Address the remaining review findings:
- The materializer now prunes PackageSources it materialized from an earlier
revision that the current artifact no longer contains (including a single/multi
rename), so a removed package leaves the catalog; installed Packages stay.
- A repeat connect updates the fetched OCIRepository's spec, label and name
annotation instead of replacing the object, so the operator's finalizer and
materialized-revision annotation survive; covered by a test.
- OCIRepository write verbs move from the cluster-wide cozystack-api ClusterRole
to a namespaced Role in cozy-system (get/list/watch stay cluster-wide for the
watch cache), since the API only manages tap sources there.
- 'cozypkg validate --require-signature' now pulls the exact manifest digest
cosign verified, closing the tag-mutation window between verify and pull.
- safeJoin rejects any '..' path segment outright (defense in depth and to
satisfy the Zip-Slip scanner) on top of the existing containment check.
- Document why the index gate's merge/label steps need a workflow_run split for
fork pull requests.
Signed-off-by: IvanHunters <xorokhotnikov@gmail.com >
2026-09-07 10:58:37 +03:00
..
2026-09-01 11:44:07 +04:00
2026-09-04 19:32:32 +04:00
2026-08-14 18:37:59 +05:00
2026-09-07 10:58:37 +03:00
2026-08-25 12:38:28 +03:00
2026-08-05 16:03:57 +03:00
2026-08-12 18:43:02 +03:00
2026-08-07 23:53:40 +03:00
2025-01-09 12:24:51 +01:00
2026-08-07 23:53:40 +03:00
2026-06-25 10:21:05 +05:00
2026-06-24 23:17:25 +03:00
2026-08-09 14:42:19 +03:00
2026-08-28 15:29:29 +05:00
2026-04-14 19:59:19 +05:00
2026-07-24 11:34:17 +05:00
2026-06-24 22:43:56 +03:00
2026-08-05 16:03:57 +03:00
2026-08-05 16:03:57 +03:00
2026-08-05 16:03:57 +03:00
2026-04-11 17:07:35 +03:00
2026-05-27 16:21:46 +03:00
2026-05-27 11:16:41 +03:00
2026-09-03 20:13:17 +03:00
2026-07-14 13:08:54 +03:00
2026-09-01 11:20:32 +03:00
2026-08-15 22:40:58 +03:00
2025-12-25 16:54:22 +01:00
2026-08-09 21:44:07 +03:00
2026-05-12 03:04:48 +03:00
2026-09-02 17:58:06 +03:00
2026-09-02 17:58:05 +03:00
2026-06-30 19:40:47 +03:00
2026-08-26 00:15:22 +03:00
2026-08-05 14:19:47 +03:00
2026-08-10 10:30:30 +02:00
2025-07-03 14:26:56 +03:00
2026-07-29 17:47:28 +05:00
2026-07-29 17:47:28 +05:00
2026-08-05 17:37:04 +03:00
2026-08-07 14:38:29 +03:00
2026-08-20 17:39:36 +03:00
2026-08-21 12:52:42 +03:00
2026-08-12 18:37:09 +03:00
2026-06-24 15:32:52 +03:00
2026-08-08 17:08:54 +03:00
2026-08-28 15:31:22 +05:00
2026-08-28 15:31:22 +05:00
2026-04-30 14:52:56 +03:00
2026-02-17 22:54:12 +01:00
2026-07-14 17:07:47 +03:00
2026-08-09 14:42:19 +03:00
2026-08-28 15:29:29 +05:00
2026-08-11 02:31:27 +03:00
2026-06-30 19:40:47 +03:00
2026-08-14 11:08:49 +03:00
2026-08-21 12:52:42 +03:00
2026-08-21 12:52:42 +03:00
2026-08-10 00:10:53 +03:00
2026-08-19 13:14:11 +03:00
2026-05-25 11:56:30 +05:00
2026-08-23 19:38:49 +05:00
2026-07-09 18:21:07 +05:00
2026-08-07 23:53:40 +03:00
2026-07-19 20:16:01 +03:00
2026-08-14 18:37:57 +05:00
2026-08-21 12:52:42 +03:00
2026-08-12 18:45:22 +03:00
2026-08-12 18:45:22 +03:00
2026-09-01 18:21:10 +04:00
2026-08-12 16:35:36 +03:00
2026-07-31 16:11:08 +03:00
2026-06-30 12:08:18 +05:00
2026-07-25 02:07:43 +03:00
2026-08-07 06:49:56 +03:00
2026-07-14 14:37:52 +03:00
2026-03-03 19:10:39 +05:00
2026-07-20 11:29:09 +05:00
2026-08-19 10:15:59 +02:00
2026-08-20 13:37:09 +03:00
2026-08-25 13:28:58 +03:00
2026-08-25 13:50:14 +03:00
2026-07-20 15:40:49 +05:00
2026-07-08 22:27:42 +03:00
2026-08-07 23:53:40 +03:00
2026-08-07 23:53:40 +03:00
2026-07-28 18:07:34 +02:00
2026-08-21 12:52:42 +03:00
2026-08-07 23:53:40 +03:00
2026-06-30 16:56:33 +03:00
2026-08-14 01:25:34 +03:00
2026-08-12 18:42:58 +03:00
2026-07-24 18:16:16 +05:00
2026-08-05 16:46:50 +03:00
2026-08-10 00:10:53 +03:00
2024-10-21 11:59:56 +02:00
2026-08-10 12:08:02 +03:00
2026-08-14 18:37:58 +05:00
2026-08-14 18:37:58 +05:00
2026-08-14 18:37:59 +05:00
2026-08-05 16:03:57 +03:00
2026-08-12 18:16:18 +02:00
2026-08-05 14:19:47 +03:00
2026-07-21 21:08:15 +05:00
2026-08-14 18:37:59 +05:00
2026-08-07 23:53:40 +03:00
2026-08-07 23:53:40 +03:00
2026-08-27 13:08:16 +05:00
2026-08-05 16:03:57 +03:00
2026-09-03 22:17:29 +03:00
2026-08-17 14:22:09 +03:00
2026-08-18 15:44:13 +03:00
2026-07-08 18:06:22 +05:00
2026-08-17 14:18:21 +03:00
2026-08-15 10:19:19 +03:00
2026-08-21 12:52:42 +03:00
2026-08-21 12:52:42 +03:00
2026-08-21 12:52:42 +03:00
2026-08-15 10:19:19 +03:00
2026-08-09 02:51:06 +03:00
2026-08-26 12:06:18 +04:00
2026-08-21 12:52:42 +03:00
2026-08-09 16:17:44 +03:00
2026-08-16 05:17:16 +03:00
2026-08-23 19:38:49 +05:00
2026-08-11 02:31:27 +03:00
2026-08-15 02:41:19 +03:00
2026-07-20 15:40:48 +05:00
2026-07-27 13:52:59 +05:00
2026-07-27 13:52:59 +05:00
2026-07-24 18:16:16 +05:00
2026-09-02 19:15:44 +05:00
2026-09-02 19:15:44 +05:00
2026-08-15 17:58:07 +05:00
2026-07-30 16:04:03 +04:00
2026-08-09 13:31:54 +03:00
2026-08-10 23:24:11 +03:00
2026-08-07 14:38:06 +03:00
2026-07-21 23:59:48 +03:00
2026-01-19 13:59:29 +01:00
2026-03-25 15:57:25 +05:00
2025-11-26 20:18:43 +01:00
2026-07-24 11:34:17 +05:00
2026-08-19 12:55:50 +05:00
2026-08-19 12:55:50 +05:00