Add Envoy Gateway as the Gateway API controller with mergeGateways
support. Per-tenant gateway model mirrors ingress-nginx architecture.
Per-tenant gateway model:
- gateway: true in tenant -> GatewayClass + EnvoyProxy per tenant
- mergeGateways: true -> all Gateways per tenant merge into one Service
- When externalIPs configured: ClusterIP + externalIPs (same as nginx)
- When no externalIPs: standard LoadBalancer
- gateway: false -> inherit parent's GatewayClass
New packages:
- packages/system/envoy-gateway/ (Envoy Gateway controller v1.7.1)
- packages/extra/gateway/ (per-tenant GatewayClass + EnvoyProxy)
- packages/system/gateway-rd/ (ApplicationDefinition for dashboard UI)
- packages/core/platform/sources/envoy-gateway.yaml (standalone)
- packages/core/platform/sources/gateway-application.yaml (bundled)
- packages/apps/tenant/templates/gateway.yaml (tenant HelmRelease)
Platform changes:
- Add gateway.gatewayClass field for system services fallback
- All components use _namespace.gateway as gatewayClassName
- System services fall back to _cluster.gateway when _namespace absent
- System services create per-component Gateways
Assisted-By: Claude AI
Signed-off-by: Kirill Ilin <stitch14@yandex.ru>