failed to init CDS watcher in ipv6 only cluster: too many colons in address
Description
My Kubernetes cluster is ipv6-only. When I try to create a stun-server-udp gateway according to this doc, it fails with:
cds_api.go:258: cds-client ERROR: failed to init CDS watcher (url: ws://fc00:fc00:fc00:20:1:1:3000:b292:13478/api/v1/configs/stunner/stun-server-udp?node=worker-4.example.test&watch=true): dial tcp: address fc00:fc00:fc00:20:1:1:3000:b292:13478: too many colons in address
Steps to Reproduce
[Brief description of the steps you took to encounter the problem, if applicable]
I followed this post on a kube ipv6-only cluster.
Versions
v1.1.0
Info
[Please copy-paste the output of the below commands and make sure to remove all sensitive information, like usernames, passwords, IP addresses, etc.]
Gateway API status
[Output of kubectl get gateways,gatewayconfigs,gatewayclasses,udproutes.stunner.l7mp.io --all-namespaces -o yaml]
- apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
creationTimestamp: "2025-10-07T15:33:24Z"
generation: 1
name: stunner-gatewayclass
resourceVersion: "216259"
uid: 4a228669-85ce-4972-84d4-5a7d5e3290dc
spec:
controllerName: stunner.l7mp.io/gateway-operator
description: STUNner is a WebRTC ingress gateway for Kubernetes
parametersRef:
group: stunner.l7mp.io
kind: GatewayConfig
name: stunner-gatewayconfig
namespace: stunner
status:
conditions:
- lastTransitionTime: "2025-10-07T15:33:24Z"
message: GatewayClass is now managed by controller "stunner.l7mp.io/gateway-operator"
observedGeneration: 1
reason: Accepted
status: "True"
type: Accepted
kind: List
metadata:
resourceVersion: ""
Currently native IPv6 and dual-stack K8s cluster networking is not supported in STUNner, see the related Discord discussion. IPv6 LB address should work through.
Currently we lack the resources to work on fixing this. We're happy to take sponsorship though if you want this implemented. Or I'd be happy to walk you through creating a PR too if you're willing to take on some work (should be 1-2 days of fairly trivial coding). Heck, maybe even Claude Code can do that with some effort.
Thank you. I will try to dig a bit when I have time and see what I can do.