mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-04 02:57:27 +09:00
Add a cluster-scoped ApplicationGroupDefinition CRD that registers an additional API group for the cozystack aggregated apiserver to serve. The object name must equal spec.group (enforced by CEL), making registrations unique and immutable by construction; reserved cozystack.io / k8s.io namespaces and undotted (built-in-shaped) group names are rejected. ValidateApplicationGroup mirrors the CEL rules in Go for consumers that must not trust cluster state they did not write. ApplicationDefinition gains an optional spec.application.group selecting the group its kind is served in; empty keeps today's apps.cozystack.io behavior exactly (EffectiveGroup resolves the default in one place). The new CRD ships in the application-definition-crd package alongside applicationdefinitions. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Timofei Larkin <lllamnyp@gmail.com>