Timofei Larkin
e63885c5a5
feat(cozystack-controller): reconcile application group APIServices
...
Wire the controller side of ApplicationGroupDefinitions:
- A new ApplicationGroupDefinitionReconciler materializes an
aggregation-layer APIService (v1alpha1.<group>) per registration,
cloning the service reference and cert-manager CA-injection
annotation from the helm-managed v1alpha1.apps.cozystack.io
reference so custom groups always target the same cozystack-api
backend. The APIService is owned by its registration, so deleting
the ApplicationGroupDefinition garbage-collects it. APIServices are
managed as unstructured objects to avoid a kube-aggregator
dependency; only reconciler-owned fields are enforced on update, so
the cert-manager-injected caBundle survives.
- The debounced cozystack-api restart now hashes
ApplicationGroupDefinitions next to ApplicationDefinitions and
watches both, so registering or deleting a group rolls the apiserver
the same way definition changes always have.
- The HelmRelease reconciler selects by the definition's effective
group instead of a hardcoded apps.cozystack.io, matching the labels
the REST storage now stamps.
Assisted-By: Claude <noreply@anthropic.com >
Signed-off-by: Timofei Larkin <lllamnyp@gmail.com >
2026-07-24 17:18:53 +03:00
..
2026-07-24 17:18:28 +03:00
2026-07-22 13:00:10 +00:00
2026-07-23 14:14:58 +04:00
2026-01-19 13:59:29 +01:00
2026-03-25 15:57:25 +05:00
2026-07-22 13:00:10 +00:00
2026-06-02 16:42:58 +03:00
2026-01-15 16:06:56 +01:00
2026-06-23 14:45:53 +05:00
2026-06-18 10:40:05 +05:00
2026-07-21 10:31:23 +00:00
2026-05-21 12:57:02 +05:00
2026-07-20 00:20:06 +03:00
2026-05-03 20:49:47 +05:00
2026-05-26 14:18:22 +05:00
2026-07-23 16:05:31 +04:00
2026-05-29 11:07:19 +03:00
2026-01-15 16:06:56 +01:00
2026-06-02 16:42:58 +03:00
2026-02-14 11:42:52 +01:00
2026-02-10 22:47:20 +05:00
2026-06-22 21:46:49 +03:00
2026-04-28 11:14:27 +02:00
2026-07-22 13:00:10 +00:00
2026-07-23 12:39:11 +03:00
2026-07-24 17:18:53 +03:00
2026-04-13 17:15:09 +03:00
2026-07-22 13:00:10 +00:00
2026-07-21 21:12:10 +04:00
2026-07-22 10:37:20 +04:00
2026-07-06 14:41:33 +04:00
2026-07-03 19:14:15 +03:00
2026-05-25 19:11:52 +03:00
2026-07-20 04:49:57 +03:00
2026-07-10 05:29:23 +00:00
2026-07-22 13:00:10 +00:00
2026-07-14 13:10:59 +03:00
2026-05-31 19:04:20 +05:00
2026-06-23 03:47:31 +03:00
2026-06-02 16:42:58 +03:00
2026-05-25 17:07:02 +03:00
2026-07-03 19:14:27 +03:00
2026-06-08 16:58:51 +03:00
2026-07-22 13:00:10 +00:00
2026-06-22 19:09:10 +03:00
2026-06-22 10:57:27 +03:00
2026-06-02 16:42:58 +03:00
2026-04-23 16:57:23 +05:00
2026-06-02 16:42:58 +03:00
2026-01-19 13:59:29 +01:00
2026-03-02 12:35:14 +05:00
2026-06-09 12:50:35 +03:00
2026-01-15 16:06:56 +01:00
2026-06-02 16:42:58 +03:00
2026-07-22 13:00:10 +00:00
2026-07-22 15:50:25 +04:00
2026-07-01 20:25:15 +02:00
2026-07-10 05:29:23 +00:00
2026-07-10 05:29:23 +00:00
2026-06-25 02:38:05 +03:00
2026-07-22 13:00:10 +00:00
2026-07-22 13:00:10 +00:00
2026-07-21 22:35:10 +03:00
2026-07-13 12:22:38 +05:00
2026-05-14 16:49:00 +03:00
2026-06-08 17:15:00 +03:00
2026-07-03 19:14:33 +03:00
2026-05-25 11:54:45 +05:00
2026-07-22 13:00:10 +00:00
2026-07-06 09:49:50 +05:00
2026-06-24 15:50:36 +03:00
2026-07-22 13:00:10 +00:00
2026-07-22 13:00:10 +00:00
2026-07-22 13:00:10 +00:00
2026-07-16 16:57:41 +03:00
2026-02-10 20:19:03 +01:00
2026-01-15 16:06:56 +01:00
2026-07-02 15:48:29 +03:00
2026-07-22 13:00:10 +00:00
2026-07-20 05:24:04 +03:00
2026-06-22 18:55:38 +03:00
2026-06-02 16:42:58 +03:00
2026-07-22 13:00:10 +00:00
2026-06-24 23:38:38 +03:00
2026-07-15 15:31:45 +03:00
2026-07-22 13:00:10 +00:00
2026-06-22 20:05:54 +03:00
2026-06-02 16:42:58 +03:00
2026-06-22 18:51:06 +03:00
2026-07-22 13:00:10 +00:00
2026-06-23 03:25:16 +03:00
2026-06-02 16:42:58 +03:00
2026-06-23 14:39:14 +03:00
2026-07-20 11:33:35 +05:00
2026-06-02 16:42:58 +03:00
2026-07-16 16:18:37 +03:00
2026-03-25 16:11:14 +03:00
2026-02-11 22:54:56 +01:00
2026-07-16 21:44:41 +04:00
2026-07-21 23:59:48 +03:00
2026-06-16 14:19:47 +05:00
2026-02-06 13:30:58 +03:00
2026-06-02 16:42:58 +03:00
2026-01-15 16:06:56 +01:00
2026-06-02 16:42:58 +03:00
2026-07-10 05:29:23 +00:00
2026-06-02 16:42:58 +03:00
2026-07-03 19:14:21 +03:00
2026-07-22 13:00:10 +00:00
2026-05-31 15:02:33 +05:00
2026-05-11 21:08:41 +03:00
2026-07-22 13:00:10 +00:00
2026-01-15 16:06:56 +01:00
2026-05-11 21:08:41 +03:00
2026-01-15 16:06:56 +01:00
2026-05-28 12:46:57 +05:00
2026-07-01 06:04:22 +03:00
2026-07-22 20:57:45 +03:00
2026-01-15 16:06:56 +01:00
2026-04-20 15:48:53 +03:00
2026-03-25 15:59:22 +05:00
2026-06-25 12:56:49 +05:00
2026-06-02 16:42:58 +03:00
2026-06-02 16:42:58 +03:00
2026-05-11 21:08:41 +03:00
2026-01-15 16:06:56 +01:00
2026-01-15 16:06:56 +01:00