cozystack/packages
Aleksei Sviridkin 500816b71b
refactor(ingress): move CiliumLoadBalancerIPPool to tenant chart
The pool is now rendered from packages/apps/tenant/templates/cilium-lb-pool.yaml instead of packages/extra/ingress/templates/cilium-lb-pool.yaml. Cilium LB IPAM forbids overlapping CIDRs across pools regardless of serviceSelector, so both the ingress-loadBalancer path and the upcoming per-tenant Gateway in #2470 cannot each own their own pool on the same publishing.externalIPs range. The tenant chart is the natural per-tenant owner — it already creates the Namespace, the cozystack-values Secret, and the HelmReleases for both ingress and gateway.

The new pool uses a namespace-only serviceSelector (io.kubernetes.service.namespace: <ns>), which matches any LoadBalancer Service in the tenant namespace. The metadata.name changed from <trim>-ingress to <trim>-exposure to reflect that the pool is not ingress-specific.

Only the ingress-loadBalancer signal is wired in this commit (_cluster.expose-mode=loadBalancer plus .Values.ingress=true on the publishing tenant). The gateway branch is added in #2470 on top of this commit — it rebases, drops its own packages/extra/gateway/templates/cilium-lb-pool.yaml, and adds an OR branch for .Values.gateway in the tenant template.

Pool-rendering unit tests moved from packages/extra/ingress/tests/ to packages/apps/tenant/tests/. The ingress chart tests keep the Service-level asserts. packages/apps/tenant/Makefile gains a test target so hack/helm-unit-tests.sh picks up the new suite.

Assisted-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
2026-04-24 16:44:46 +03:00
..
apps refactor(ingress): move CiliumLoadBalancerIPPool to tenant chart 2026-04-24 16:44:46 +03:00
core feat(ingress): add loadBalancer exposure mode via CiliumLoadBalancerIPPool 2026-04-23 17:35:36 +03:00
extra refactor(ingress): move CiliumLoadBalancerIPPool to tenant chart 2026-04-24 16:44:46 +03:00
library [cozy-lib] Add a hexToInt helper 2026-03-19 07:29:50 +03:00
system fix(cilium): rebuild image multi-arch and pin tag to 1.19.3 2026-04-23 17:33:19 +03:00
tests/cozy-lib-tests refactor: replace Helm lookup with valuesFrom mechanism 2026-01-05 16:10:55 +01:00