Skip to content

Instantly share code, notes, and snippets.

@bpmct
Created April 8, 2026 19:25
Show Gist options
  • Select an option

  • Save bpmct/fedcf12f8e45b07d4143d91dd838b042 to your computer and use it in GitHub Desktop.

Select an option

Save bpmct/fedcf12f8e45b07d4143d91dd838b042 to your computer and use it in GitHub Desktop.
Validation notes for coder/coder#23501 (Gateway API HTTPRoute helm support)

Gateway API HTTPRoute Helm Chart Validation

Tested PR #23501 on a bare kubeadm cluster (arm64, Pi 5, k8s 1.30).

Setup

  • Single-node kubeadm cluster with Calico CNI
  • Gateway API CRDs v1.2.1 (standard channel)
  • Traefik v3 as the Gateway controller (via helm)

What was tested

Installed the chart from this PR branch directly with coder.httproute values:

coder:
  httproute:
    enable: true
    host: "coder.10.129.135.198.nip.io"
    parentRefs:
      - name: traefik-gateway
        namespace: traefik

Results

HTTPRoute was created correctly by helm and accepted by the gateway controller:

$ kubectl get httproute -n coder
NAME    HOSTNAMES                          AGE
coder   ["coder.10.129.135.198.nip.io"]   5m

$ kubectl get httproute coder -n coder -o jsonpath='{.status.parents[0].conditions}'
Accepted=True, ResolvedRefs=True

Traffic flows end to end through the Gateway:

$ curl -H "Host: coder.10.129.135.198.nip.io" http://10.129.135.198:30080/api/v2/buildinfo
{"version":"v2.31.7+a7e9dfa", ...}

Requests without a matching host header correctly return 404 from the gateway.

Notes

  • No Ingress object created — HTTPRoute only, as expected
  • Works with coder.service.type=ClusterIP (no LoadBalancer needed)
  • wildcardHost field also renders correctly in the HTTPRoute spec
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment