fix(traefik): replace invalid controllername flag with labelSelector for v3 (#125)

Remove --providers.kubernetesgateway.controllername which does not exist in
Traefik v3, update GatewayClass controllerName to the standard v3 value, and
use labelSelector on each instance's kubernetesGateway provider to differentiate
internal vs external traffic.

Reviewed-on: #125
This commit was merged in pull request #125.
This commit is contained in:
2026-05-18 00:03:12 +10:00
parent 9a01a9ef19
commit 73c9b3f603
4 changed files with 4 additions and 6 deletions
@@ -4,4 +4,4 @@ kind: GatewayClass
metadata: metadata:
name: traefik-external name: traefik-external
spec: spec:
controllerName: traefik.io/gateway-controller-external controllerName: traefik.io/gateway-controller
@@ -4,4 +4,4 @@ kind: GatewayClass
metadata: metadata:
name: traefik-internal name: traefik-internal
spec: spec:
controllerName: traefik.io/gateway-controller-internal controllerName: traefik.io/gateway-controller
@@ -1,8 +1,6 @@
image: image:
tag: v3.7.0 tag: v3.7.0
additionalArguments:
- "--providers.kubernetesgateway.controllername=traefik.io/gateway-controller-external"
podDisruptionBudget: podDisruptionBudget:
enabled: true enabled: true
@@ -29,6 +27,7 @@ providers:
experimentalChannel: false experimentalChannel: false
namespaces: [] namespaces: []
nativeLBByDefault: false nativeLBByDefault: false
labelSelector: "traefik.io/instance=external"
logs: logs:
access: access:
@@ -1,8 +1,6 @@
image: image:
tag: v3.7.0 tag: v3.7.0
additionalArguments:
- "--providers.kubernetesgateway.controllername=traefik.io/gateway-controller-internal"
podDisruptionBudget: podDisruptionBudget:
enabled: true enabled: true
@@ -29,6 +27,7 @@ providers:
experimentalChannel: false experimentalChannel: false
namespaces: [] namespaces: []
nativeLBByDefault: false nativeLBByDefault: false
labelSelector: "traefik.io/instance=internal"
logs: logs:
access: access: