From 79f4a4579f50ec33e9a249860b373e28ce808d24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20R=C3=B8ste?= Date: Wed, 25 Mar 2026 19:30:14 +0100 Subject: [PATCH] =?UTF-8?q?feat(k8s):=20added=20possibility=20to=20specify?= =?UTF-8?q?=20service.type=20for=20multiple=20ser=E2=80=A6=20(#8372)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(k8s): added possibility to specify service.type for multiple services in helm chart * fix(k8s): removed headless (clusterIP: None) from services * fix(k8s): keep master and filer services headless for StatefulSet compatibility Master and filer services must remain headless (clusterIP: None) because their StatefulSets reference them via serviceName for stable pod DNS. Revert the service.type change for these two services and remove their unused service config from values.yaml. S3 and SFTP remain configurable. --------- Co-authored-by: Andreas Røste Co-authored-by: Chris Lu Co-authored-by: Chris Lu --- k8s/charts/seaweedfs/templates/s3/s3-service.yaml | 1 + k8s/charts/seaweedfs/templates/sftp/sftp-service.yaml | 3 ++- k8s/charts/seaweedfs/values.yaml | 8 ++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/k8s/charts/seaweedfs/templates/s3/s3-service.yaml b/k8s/charts/seaweedfs/templates/s3/s3-service.yaml index c4452ec96..063b1c59f 100644 --- a/k8s/charts/seaweedfs/templates/s3/s3-service.yaml +++ b/k8s/charts/seaweedfs/templates/s3/s3-service.yaml @@ -15,6 +15,7 @@ metadata: {{- toYaml .Values.s3.annotations | nindent 4 }} {{- end }} spec: + type: {{ .Values.s3.service.type }} internalTrafficPolicy: {{ .Values.s3.internalTrafficPolicy | default "Cluster" }} {{- $td := .Values.s3.trafficDistribution | default .Values.filer.s3.trafficDistribution }} {{- if and (semverCompare ">=1.31-0" .Capabilities.KubeVersion.GitVersion) $td }} diff --git a/k8s/charts/seaweedfs/templates/sftp/sftp-service.yaml b/k8s/charts/seaweedfs/templates/sftp/sftp-service.yaml index 11c4d8f4e..9a80cca33 100644 --- a/k8s/charts/seaweedfs/templates/sftp/sftp-service.yaml +++ b/k8s/charts/seaweedfs/templates/sftp/sftp-service.yaml @@ -15,6 +15,7 @@ metadata: {{- toYaml .Values.sftp.annotations | nindent 4 }} {{- end }} spec: + type: {{ .Values.sftp.service.type }} internalTrafficPolicy: {{ .Values.sftp.internalTrafficPolicy | default "Cluster" }} ports: - name: "swfs-sftp" @@ -31,4 +32,4 @@ spec: app.kubernetes.io/name: {{ template "seaweedfs.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: sftp -{{- end }} \ No newline at end of file +{{- end }} diff --git a/k8s/charts/seaweedfs/values.yaml b/k8s/charts/seaweedfs/values.yaml index 2ad609f7b..f39b3013e 100644 --- a/k8s/charts/seaweedfs/values.yaml +++ b/k8s/charts/seaweedfs/values.yaml @@ -1104,6 +1104,10 @@ s3: annotations: {} tls: [] + # Service settings + service: + type: ClusterIP + icebergIngress: enabled: false className: "" @@ -1185,6 +1189,10 @@ sftp: failureThreshold: 100 timeoutSeconds: 10 + # Service settings + service: + type: ClusterIP + admin: enabled: false imageOverride: null