diff --git a/terraform/minimal/user-data.sh b/terraform/minimal/user-data.sh index d64ee9c..43703f8 100644 --- a/terraform/minimal/user-data.sh +++ b/terraform/minimal/user-data.sh @@ -63,6 +63,18 @@ until kubectl get nodes 2>/dev/null | grep -q "Ready"; do done echo "k3s is ready" +# ----------------------------------------------------------------------------- +# Install Traefik CRDs (required for IngressRouteTCP) +# ----------------------------------------------------------------------------- + +echo "Installing Traefik CRDs..." +kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v3.2/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml + +# Wait for CRDs to be established +echo "Waiting for Traefik CRDs to be ready..." +kubectl wait --for=condition=Established crd/ingressroutetcps.traefik.io --timeout=60s || true +kubectl wait --for=condition=Established crd/ingressroutes.traefik.io --timeout=60s || true + # ----------------------------------------------------------------------------- # Install Traefik with Let's Encrypt # -----------------------------------------------------------------------------