#!/usr/bin/env bash if kubectl -n kube-system get pods --no-headers 2>/dev/null | grep -q 'traefik'; then echo "Traefik is already running in the 'kube-system' 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: kube-system # 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 kube-system \$(kubectl get pods -n kube-system -l \"app.kubernetes.io/name=traefik\" -o name) 9000:9000" echo "Then visit http://localhost:9000/dashboard/ in your browser"