From f3c421534b922d42a1737fa8f99efe2a69ac5532 Mon Sep 17 00:00:00 2001 From: Vegard Hagen Date: Sun, 29 Mar 2026 12:59:51 +0200 Subject: [PATCH] feat(netbird): add appProtocol field to services This field is required to be kubernetes.io/h2c for gRPC when using the Cilium Gateway API implementation See https://docs.cilium.io/en/latest/network/servicemesh/gateway-api/grpc/ for more information Signed-off-by: Vegard Hagen --- .../netbird/templates/dashboard-service.yaml | 3 +++ .../templates/management-service-grpc.yaml | 3 +++ .../netbird/templates/management-service.yaml | 3 +++ charts/netbird/templates/relay-service.yaml | 3 +++ charts/netbird/templates/signal-service.yaml | 3 +++ charts/netbird/values.yaml | 20 +++++++++++++++++++ 6 files changed, 35 insertions(+) diff --git a/charts/netbird/templates/dashboard-service.yaml b/charts/netbird/templates/dashboard-service.yaml index 3a65e9e..e9e9233 100644 --- a/charts/netbird/templates/dashboard-service.yaml +++ b/charts/netbird/templates/dashboard-service.yaml @@ -17,6 +17,9 @@ spec: targetPort: http protocol: TCP name: http + {{- if .Values.dashboard.service.appProtocol }} + appProtocol: {{ .Values.dashboard.service.appProtocol }} + {{- end }} selector: {{- include "netbird.dashboard.selectorLabels" . | nindent 4 }} {{- with .Values.dashboard.service.externalIPs }} diff --git a/charts/netbird/templates/management-service-grpc.yaml b/charts/netbird/templates/management-service-grpc.yaml index ffcb265..a31ae82 100644 --- a/charts/netbird/templates/management-service-grpc.yaml +++ b/charts/netbird/templates/management-service-grpc.yaml @@ -17,6 +17,9 @@ spec: targetPort: {{ .Values.management.serviceGrpc.name }} protocol: TCP name: {{ .Values.management.serviceGrpc.name }} + {{- if .Values.management.serviceGrpc.appProtocol }} + appProtocol: {{ .Values.management.serviceGrpc.appProtocol }} + {{- end }} selector: {{- include "netbird.management.selectorLabels" . | nindent 4 }} {{- with .Values.management.serviceGrpc.externalIPs }} diff --git a/charts/netbird/templates/management-service.yaml b/charts/netbird/templates/management-service.yaml index 27be3de..b8c7f8b 100644 --- a/charts/netbird/templates/management-service.yaml +++ b/charts/netbird/templates/management-service.yaml @@ -17,6 +17,9 @@ spec: targetPort: {{ .Values.management.service.name }} protocol: TCP name: {{ .Values.management.service.name }} + {{- if .Values.management.service.appProtocol }} + appProtocol: {{ .Values.management.service.appProtocol }} + {{- end }} {{- if .Values.management.metrics.enabled }} - port: {{ .Values.management.metrics.port }} targetPort: metrics diff --git a/charts/netbird/templates/relay-service.yaml b/charts/netbird/templates/relay-service.yaml index d4c3a9c..ba105b3 100644 --- a/charts/netbird/templates/relay-service.yaml +++ b/charts/netbird/templates/relay-service.yaml @@ -17,6 +17,9 @@ spec: targetPort: {{ .Values.relay.service.name }} protocol: TCP name: {{ .Values.relay.service.name }} + {{- if .Values.relay.service.appProtocol }} + appProtocol: {{ .Values.relay.service.appProtocol }} + {{- end }} {{- if .Values.relay.metrics.enabled }} - port: {{ .Values.relay.metrics.port}} targetPort: metrics diff --git a/charts/netbird/templates/signal-service.yaml b/charts/netbird/templates/signal-service.yaml index f6bd6a6..1531f8d 100644 --- a/charts/netbird/templates/signal-service.yaml +++ b/charts/netbird/templates/signal-service.yaml @@ -17,6 +17,9 @@ spec: targetPort: {{ .Values.signal.service.name }} protocol: TCP name: {{ .Values.signal.service.name }} + {{- if .Values.signal.service.appProtocol }} + appProtocol: {{ .Values.signal.service.appProtocol }} + {{- end }} {{- if .Values.signal.metrics.enabled }} - port: {{ .Values.signal.metrics.port }} targetPort: metrics diff --git a/charts/netbird/values.yaml b/charts/netbird/values.yaml index bf8d019..3a93d15 100644 --- a/charts/netbird/values.yaml +++ b/charts/netbird/values.yaml @@ -138,6 +138,10 @@ management: ## name: http + ## @param management.service.appProtocol AppProtocol for the management service port. + ## + appProtocol: kubernetes.io/h2c + ## @param management.service.externalIPs External IPs for the management service. ## externalIPs: [] @@ -163,6 +167,10 @@ management: ## name: grpc + ## @param management.serviceGrpc.appProtocol AppProtocol for the management GRPC service port. + ## + appProtocol: kubernetes.io/h2c + ## @param management.serviceGrpc.externalIPs External IPs for the management GRPC service. ## externalIPs: [] @@ -397,6 +405,10 @@ signal: ## name: grpc + ## @param signal.service.appProtocol AppProtocol for the signal service port. + ## + appProtocol: kubernetes.io/h2c + ## @param signal.service.externalIPs External IPs for the signal service. ## externalIPs: [] @@ -590,6 +602,10 @@ relay: ## name: http + ## @param relay.service.appProtocol AppProtocol for the relay service port. + ## + appProtocol: "" + ## @param relay.service.externalIPs External IPs for the relay service. ## externalIPs: [] @@ -755,6 +771,10 @@ dashboard: ## name: http + ## @param dashboard.service.appProtocol AppProtocol for the dashboard service port. + ## + appProtocol: "" + ## @param dashboard.service.externalIPs External IPs for the dashboard service. ## externalIPs: []