#!/usr/bin/env bash if kubectl -n traefik get pods --no-headers 2>/dev/null | grep -q 'Running'; then echo "Traefik is already running in the 'traefik' namespace. Upgrading instead." # Create a temporary values file for more complex configuration cat > /tmp/traefik-values.yaml < /tmp/traefik-values.yaml < traefik-turn-service.yaml << EOF apiVersion: v1 kind: Service metadata: name: traefik-turn namespace: traefik labels: app.kubernetes.io/instance: traefik-traefik app.kubernetes.io/name: traefik spec: type: LoadBalancer ports: - name: turn-tcp port: 1194 protocol: TCP targetPort: turn-tcp - name: turn-udp port: 1194 protocol: UDP targetPort: turn-udp selector: app.kubernetes.io/instance: traefik-traefik app.kubernetes.io/name: traefik EOF kubectl apply -f traefik-turn-service.yaml rm -f traefik-turn-service.yaml echo "Don't forget to create TCP and UDP ingress routes for the TURN server with:" echo "kubectl apply -f k8s-manifests/galene/ingressroute-tcp.yaml" echo "kubectl apply -f k8s-manifests/galene/ingressroute-udp.yaml" echo "" echo "To access the dashboard:" echo "kubectl port-forward -n traefik \$(kubectl get pods -n traefik -l \"app.kubernetes.io/name=traefik\" -o name) 9000:9000" echo "Then visit http://localhost:9000/dashboard/ in your browser"