#!/usr/bin/env bash # Exit immediately if a command exits with a non-zero status. set -e TMPFILE=$(mktemp) trap 'rm -f "$TMPFILE"' EXIT cat > "$TMPFILE" < /dev/null; then echo "Traefik is already installed in the 'traefik' namespace. Upgrading..." helm upgrade traefik traefik/traefik --namespace traefik -f "$TMPFILE" else echo "Installing Traefik..." helm repo add traefik https://traefik.github.io/charts helm repo update # Using --create-namespace is good practice, though traefik will always exist. helm install traefik traefik/traefik --namespace traefik --create-namespace -f "$TMPFILE" fi # Apply the TLS store configuration kubectl apply -f k8s/traefik-tlsstore.yaml if [ $? -ne 0 ]; then echo "Failed to apply TLS store configuration." exit 1 fi 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"