We are unable to override the externalTrafficPolicy on NodePort services created by the controller.
https://github.com/envoyproxy/gateway/blob/main/internal/infrastructure/kubernetes/resource/resource.go#L45
I believe this line needs to be moved out of the LoadBalancer type check.
# Example proxy config
---
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyProxy
metadata:
name: internal-lb
namespace: kube-system
spec:
provider:
type: Kubernetes
kubernetes:
envoyService:
# This does not work for NodePort service types. It will always be Cluster.
externalTrafficPolicy: Local
name: internal-lb-proxy
type: NodePort