cat ./deploy-traefik.sh

#!/bin/bash

# load colors
. /etc/colorcodes

echo "${RED}Creating kind cluster${non} ..."
kind create cluster --name gatewayapi --image kindest/node:v1.34.0
until kubectl &>/dev/null get nodes; do sleep 2; done

echo "${RED}Deploying Gateway-API CRDs${non} ..."
kubectl apply --server-side -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/experimental-install.yaml

echo "${RED}Deploying traefik${non} ..."
cat <<EOF > values.yaml
logs:
  access:
    enabled: true
ports:
  web:
    port: 80
  websecure:
    port: 443
    exposedPort: 443

# we enable gateway-api features
providers:
  kubernetesGateway:
    enabled: true
    experimentalChannel: false

# we disable gateway-api defaults because we want to provide our own
gatewayClass:
  enabled: false

# we disable gateway-api defaults because we want to provide our own
gateway:
  enabled: false
EOF

helm upgrade --install traefik traefik/traefik -n traefik --create-namespace --version "37.3.0" -f values.yaml --wait
