cozystack/packages/extra
Aleksei Sviridkin 2c5bf50f43
feat(gateway): TLSRoute for TLS-passthrough services (cozystack-api, vm-exportproxy, cdi-uploadproxy)
Wire the three HTTPS-passthrough services through Gateway API so
ingress-nginx is no longer required for them when gateway.enabled=true.

extra/gateway chart: new values.tlsPassthroughServices (defaults to
[api, vm-exportproxy, cdi-uploadproxy]). For each service in that list
AND in _cluster.expose-services, the Gateway emits an extra
port-443 listener with protocol: TLS, tls.mode: Passthrough, hostname
<svc>.<host>, and allowedRoutes.kinds restricted to TLSRoute. The
specific hostname wins over the wildcard HTTPS Terminate listener at
SNI-matching time per Gateway API spec.

Per-service packages:

- packages/system/cozystack-api: existing Ingress wrapped in
  '!= gateway-enabled=true'. New api-tlsroute.yaml renders
  apiVersion gateway.networking.k8s.io/v1alpha2 TLSRoute in the
  'default' namespace (where the kubernetes Service lives) targeting
  the tls-api listener, hostname api.<root-host>, backendRef kubernetes:443.
- packages/system/kubevirt: same treatment for
  vm-exportproxy-ingress.yaml → vm-exportproxy-tlsroute.yaml,
  hostname vm-exportproxy.<root-host>, backendRef vm-exportproxy:443
  in cozy-kubevirt.
- packages/system/kubevirt-cdi: same for cdi-uploadproxy —
  hostname cdi-uploadproxy.<root-host>, backendRef cdi-uploadproxy:443
  in cozy-kubevirt-cdi.

TLSRoute apiVersion v1alpha2 is intentional: Cilium 1.19 vendors
Gateway API CRDs v1.4 (TLSRoute is v1alpha2 there) and v1.5.1 ships
both v1 and v1alpha2 in the experimental channel, so v1alpha2 is
compatible with both. A follow-up can bump to v1 once Cilium v1.20
(Gateway API v1.5) lands in the platform.

Backward compatibility: default gateway.enabled=false keeps the
existing Ingress path verbatim for all three services.

Assisted-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
2026-04-24 17:03:58 +03:00
..
bootbox Prepare release v1.3.0 2026-04-22 07:28:09 +00:00
etcd [docs] Updated app go types 2026-03-25 15:57:25 +05:00
external-dns [docs] Updated app go types 2026-03-25 15:57:25 +05:00
gateway feat(gateway): TLSRoute for TLS-passthrough services (cozystack-api, vm-exportproxy, cdi-uploadproxy) 2026-04-24 17:03:58 +03:00
info refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00
ingress refactor(ingress): move CiliumLoadBalancerIPPool to tenant chart 2026-04-24 16:44:46 +03:00
monitoring [docs] Updated app go types 2026-03-25 15:57:25 +05:00
seaweedfs Prepare release v1.3.0 2026-04-22 07:28:09 +00:00
Makefile refactor: move scripts to hack directory 2026-01-15 16:06:56 +01:00