This is an automated email from the ASF dual-hosted git repository.
chengwang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git
The following commit(s) were added to refs/heads/main by this push:
new 43f76a556 [helm] Enable pulling from private Docker registry (#2692)
43f76a556 is described below
commit 43f76a556dddff59c45a880ffcd3af015624e076
Author: Lorenzo Affetti <[email protected]>
AuthorDate: Wed Feb 25 07:23:27 2026 +0100
[helm] Enable pulling from private Docker registry (#2692)
* [helm] Enable pulling from private Docker registry
Added instructions for using a private Docker registry and included image
values reference.
---------
Co-authored-by: xx789 <[email protected]>
---
helm/README.md | 14 ++++++++++++++
helm/templates/_helpers.tpl | 37 ++++++++++++++++++++++++++++++++++++-
helm/templates/sts-coordinator.yaml | 3 ++-
helm/templates/sts-tablet.yaml | 3 ++-
4 files changed, 54 insertions(+), 3 deletions(-)
diff --git a/helm/README.md b/helm/README.md
index f09750c48..cd0985f6e 100644
--- a/helm/README.md
+++ b/helm/README.md
@@ -98,6 +98,20 @@ Important Fluss options surfaced by the chart:
- zookeeper.address must point to a reachable ensemble.
- data.dir defaults to /tmp/fluss/data; use a PVC if persistence.enabled=true.
+### Private Docker Registry
+
+If you are pulling the Fluss image from a private Docker registry, you can
configure the chart using `image.registry` and `image.pullSecrets`.
+
+#### Image values reference
+
+| Parameter | Description | Default
|
+| --------------------
|------------------------------------------|---------------------|
+| `image.registry` | Docker image registry | `""`
|
+| `image.repository` | Docker image repository |
`apache/fluss` |
+| `image.pullPolicy` | Image pull policy |
`IfNotPresent` |
+| `image.pullSecrets` | Docker registry secret names as an array | `[]`
|
+
+
## Resource management
Set resources with requests/limits as appropriate for production. There are no
defaults to make it also run on environments with little resources such as
Minikube.
diff --git a/helm/templates/_helpers.tpl b/helm/templates/_helpers.tpl
index 79ae9d310..ee13b2cb6 100644
--- a/helm/templates/_helpers.tpl
+++ b/helm/templates/_helpers.tpl
@@ -63,4 +63,39 @@ Selector labels
{{- define "fluss.selectorLabels" -}}
app.kubernetes.io/name: {{ include "fluss.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end }}
\ No newline at end of file
+{{- end }}
+
+{{/*
+Image name
+*/}}
+{{- define "fluss.image" -}}
+
+{{- $registry := .Values.image.registry | default "" -}}
+{{- $repo := required "image.repository is required" .Values.image.repository
-}}
+{{- $tag := .Values.image.tag | default "" | toString -}}
+
+{{- $image := $repo -}}
+
+{{- if $registry -}}
+ {{- $image = printf "%s/%s" $registry $image -}}
+{{- end -}}
+
+{{- if $tag -}}
+ {{- $image = printf "%s:%s" $image $tag -}}
+{{- end -}}
+
+{{- $image -}}
+{{- end -}}
+
+{{/*
+Render pull secrets
+*/}}
+{{- define "fluss.imagePullSecrets" -}}
+{{- $secrets := .Values.image.pullSecrets -}}
+{{- if $secrets -}}
+imagePullSecrets:
+{{- range $secrets }}
+ - name: {{ . }}
+{{- end }}
+{{- end }}
+{{- end }}
diff --git a/helm/templates/sts-coordinator.yaml
b/helm/templates/sts-coordinator.yaml
index 6f2ec40ff..7bffccc82 100644
--- a/helm/templates/sts-coordinator.yaml
+++ b/helm/templates/sts-coordinator.yaml
@@ -38,9 +38,10 @@ spec:
{{- if .Values.serviceAccount.create }}
serviceAccountName: {{ .Values.serviceAccount.name | default (include
"fluss.fullname" .) }}
{{- end }}
+ {{- include "fluss.imagePullSecrets" . | nindent 6 }}
containers:
- name: {{ .Chart.Name }}-coordinator
- image: "{{.Values.image.repository}}:{{ .Values.image.tag }}"
+ image: {{ include "fluss.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: POD_NAME
diff --git a/helm/templates/sts-tablet.yaml b/helm/templates/sts-tablet.yaml
index f329eb1f2..aa60cf462 100644
--- a/helm/templates/sts-tablet.yaml
+++ b/helm/templates/sts-tablet.yaml
@@ -38,9 +38,10 @@ spec:
{{- if .Values.serviceAccount.create }}
serviceAccountName: {{ .Values.serviceAccount.name | default (include
"fluss.fullname" .) }}
{{- end }}
+ {{- include "fluss.imagePullSecrets" . | nindent 6 }}
containers:
- name: {{ .Chart.Name }}-tablet
- image: "{{.Values.image.repository}}:{{ .Values.image.tag }}"
+ image: {{ include "fluss.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: POD_NAME