mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-09 14:02:56 +09:00
The standalone hack/e2e-apps/ouroboros.bats provisioned a full Kamaji- backed tenant Kubernetes cluster (control plane + 2 CAPI workers + base addons) just to flip `addons.ouroboros.enabled=true` on top, then ran ~15m of hairpin-NAT reconciliation assertions. Cluster shape was identical to what hack/e2e-apps/run-kubernetes.sh already provisions for kubernetes-latest, so the second Kamaji bringup was pure duplication — roughly 25-45m of CI wall-time per run. Add an `enable_ouroboros` 4th parameter to `run_kubernetes_test()`. When "true", inject the ouroboros addon block into the Kubernetes CR's addons map and run the post-cluster assertions inline: - Wait for the ouroboros HR Ready in the host namespace. - Verify coredns-custom ConfigMap exists in tenant kube-system. - Wait for the ouroboros controller pod Ready. - Apply an Ingress with a TLS host in tenant default namespace. - Poll coredns coredns-custom for the rewrite line (5m budget). - Resolve the hairpin host from inside the tenant via a netshoot pod and assert it points at the ouroboros-proxy ClusterIP. - Clean up dnscheck pod + Ingress. kubernetes-latest passes "true" (gets ouroboros coverage); kubernetes- previous leaves it empty (control-plane-only smoke remains). (The standalone ouroboros.bats was removed in the preceding commit alongside an unrelated foundationdb chart fix — the git rm staging had already happened when the foundationdb commit landed.) Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>