From d053a6b929824a4a911921a48040b091f7ee6471 Mon Sep 17 00:00:00 2001 From: Tom Zaspel Date: Tue, 11 Feb 2025 17:11:20 +0100 Subject: [PATCH 1/3] feat: add ability to set custom namespace Signed-off-by: Tom Zaspel --- .../chart/local-path-provisioner/templates/_helpers.tpl | 8 ++++++++ .../chart/local-path-provisioner/templates/configmap.yaml | 5 ++--- .../local-path-provisioner/templates/deployment.yaml | 4 ++-- .../local-path-provisioner/templates/registry-secret.yaml | 2 +- deploy/chart/local-path-provisioner/templates/role.yaml | 2 +- .../local-path-provisioner/templates/rolebinding.yaml | 4 ++-- .../local-path-provisioner/templates/serviceaccount.yaml | 2 +- deploy/chart/local-path-provisioner/values.yaml | 2 +- 8 files changed, 18 insertions(+), 11 deletions(-) diff --git a/deploy/chart/local-path-provisioner/templates/_helpers.tpl b/deploy/chart/local-path-provisioner/templates/_helpers.tpl index 40c0fa5de..cc8429e17 100644 --- a/deploy/chart/local-path-provisioner/templates/_helpers.tpl +++ b/deploy/chart/local-path-provisioner/templates/_helpers.tpl @@ -31,6 +31,14 @@ Create chart name and version as used by the chart label. {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} +{{- define "local-path-provisioner.namespace" -}} +{{- if .Values.namespaceOverride }} +{{- .Values.namespaceOverride }} +{{- else }} +{{- .Release.Namespace }} +{{- end }} +{{- end -}} + {{/* Common labels */}} diff --git a/deploy/chart/local-path-provisioner/templates/configmap.yaml b/deploy/chart/local-path-provisioner/templates/configmap.yaml index 91a531905..01a5fa667 100644 --- a/deploy/chart/local-path-provisioner/templates/configmap.yaml +++ b/deploy/chart/local-path-provisioner/templates/configmap.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: {{ .Values.configmap.name }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "local-path-provisioner.namespace" . }} labels: {{ include "local-path-provisioner.labels" . | indent 4 }} data: @@ -38,7 +38,7 @@ data: kind: Pod metadata: name: {{ .Values.configmap.helperPod.name }} - namespace: {{ default .Release.Namespace .Values.configmap.helperPod.namespaceOverride }} + namespace: {{ default (include "local-path-provisioner.namespace" .) .Values.configmap.helperPod.namespaceOverride }} {{- with .Values.configmap.helperPod.annotations }} annotations: {{- toYaml . | nindent 8 }} @@ -59,4 +59,3 @@ data: imagePullPolicy: {{ .Values.image.pullPolicy }} resources: {{- toYaml .Values.helperPod.resources | nindent 12 }} - diff --git a/deploy/chart/local-path-provisioner/templates/deployment.yaml b/deploy/chart/local-path-provisioner/templates/deployment.yaml index af07077c6..d751aedeb 100644 --- a/deploy/chart/local-path-provisioner/templates/deployment.yaml +++ b/deploy/chart/local-path-provisioner/templates/deployment.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "local-path-provisioner.fullname" . }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "local-path-provisioner.namespace" . }} labels: {{ include "local-path-provisioner.labels" . | indent 4 }} spec: @@ -72,7 +72,7 @@ spec: mountPath: /etc/config/ env: - name: POD_NAMESPACE - value: {{ .Release.Namespace }} + value: {{ include "local-path-provisioner.namespace" . }} - name: CONFIG_MOUNT_PATH value: /etc/config/ resources: diff --git a/deploy/chart/local-path-provisioner/templates/registry-secret.yaml b/deploy/chart/local-path-provisioner/templates/registry-secret.yaml index 9b000fef6..cb1c5364f 100644 --- a/deploy/chart/local-path-provisioner/templates/registry-secret.yaml +++ b/deploy/chart/local-path-provisioner/templates/registry-secret.yaml @@ -3,7 +3,7 @@ apiVersion: v1 kind: Secret metadata: name: {{ .Values.defaultSettings.registrySecret }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "local-path-provisioner.namespace" . }} type: kubernetes.io/dockerconfigjson data: .dockerconfigjson: {{ template "local-path-provisioner.secret" . }} diff --git a/deploy/chart/local-path-provisioner/templates/role.yaml b/deploy/chart/local-path-provisioner/templates/role.yaml index ec6c2e512..887f8d241 100644 --- a/deploy/chart/local-path-provisioner/templates/role.yaml +++ b/deploy/chart/local-path-provisioner/templates/role.yaml @@ -3,7 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: {{ include "local-path-provisioner.fullname" . }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "local-path-provisioner.namespace" . }} labels: {{ include "local-path-provisioner.labels" . | indent 4 }} rules: diff --git a/deploy/chart/local-path-provisioner/templates/rolebinding.yaml b/deploy/chart/local-path-provisioner/templates/rolebinding.yaml index 53295c31a..2f244e5cc 100644 --- a/deploy/chart/local-path-provisioner/templates/rolebinding.yaml +++ b/deploy/chart/local-path-provisioner/templates/rolebinding.yaml @@ -3,7 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: {{ include "local-path-provisioner.fullname" . }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "local-path-provisioner.namespace" . }} labels: {{ include "local-path-provisioner.labels" . | indent 4 }} roleRef: @@ -13,5 +13,5 @@ roleRef: subjects: - kind: ServiceAccount name: {{ template "local-path-provisioner.serviceAccountName" . }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "local-path-provisioner.namespace" . }} {{- end -}} diff --git a/deploy/chart/local-path-provisioner/templates/serviceaccount.yaml b/deploy/chart/local-path-provisioner/templates/serviceaccount.yaml index ed5ac16e7..b0d6e924a 100644 --- a/deploy/chart/local-path-provisioner/templates/serviceaccount.yaml +++ b/deploy/chart/local-path-provisioner/templates/serviceaccount.yaml @@ -3,7 +3,7 @@ apiVersion: v1 kind: ServiceAccount metadata: name: {{ template "local-path-provisioner.serviceAccountName" . }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "local-path-provisioner.namespace" . }} labels: {{ include "local-path-provisioner.labels" . | indent 4 }} imagePullSecrets: diff --git a/deploy/chart/local-path-provisioner/values.yaml b/deploy/chart/local-path-provisioner/values.yaml index d0741d648..cf3403d54 100644 --- a/deploy/chart/local-path-provisioner/values.yaml +++ b/deploy/chart/local-path-provisioner/values.yaml @@ -2,6 +2,7 @@ replicaCount: 1 commonLabels: {} +namespace: local-path-provisioner image: repository: rancher/local-path-provisioner @@ -162,7 +163,6 @@ configmap: namespaceOverride: "" name: "helper-pod" annotations: {} - # Number of provisioner worker threads to call provision/delete simultaneously. # workerThreads: 4 From 90f37976f609cb22e5a262a26b14c1268fa3d69b Mon Sep 17 00:00:00 2001 From: Tom Zaspel Date: Sun, 23 Feb 2025 16:20:48 +0100 Subject: [PATCH 2/3] feat: improve namespace definition based on suggestion of Skaronator --- deploy/chart/local-path-provisioner/templates/deployment.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deploy/chart/local-path-provisioner/templates/deployment.yaml b/deploy/chart/local-path-provisioner/templates/deployment.yaml index d751aedeb..73708e3ce 100644 --- a/deploy/chart/local-path-provisioner/templates/deployment.yaml +++ b/deploy/chart/local-path-provisioner/templates/deployment.yaml @@ -72,7 +72,9 @@ spec: mountPath: /etc/config/ env: - name: POD_NAMESPACE - value: {{ include "local-path-provisioner.namespace" . }} + valueFrom: + fieldRef: + fieldPath: metadata.namespace - name: CONFIG_MOUNT_PATH value: /etc/config/ resources: From a541737d2926471a4e904f503906674383022a85 Mon Sep 17 00:00:00 2001 From: Tom Zaspel Date: Mon, 24 Feb 2025 10:38:34 +0100 Subject: [PATCH 3/3] fix: namespace reference to namespaceOverride --- deploy/chart/local-path-provisioner/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/chart/local-path-provisioner/values.yaml b/deploy/chart/local-path-provisioner/values.yaml index cf3403d54..421396bbe 100644 --- a/deploy/chart/local-path-provisioner/values.yaml +++ b/deploy/chart/local-path-provisioner/values.yaml @@ -2,7 +2,7 @@ replicaCount: 1 commonLabels: {} -namespace: local-path-provisioner +namespaceOverride: "" image: repository: rancher/local-path-provisioner