From 8b705eb3c6f45cea20b905c2ca2a93a58177a905 Mon Sep 17 00:00:00 2001 From: bwdmr Date: Sat, 15 Mar 2025 09:17:17 +0100 Subject: [PATCH] Refactor namespace handling in Docker registry Helm chart - Create a reusable helper template "docker-registry.namespace" in _helpers.tpl - Replace all instances of "{{ .Values.namespace | default .Release.Namespace }}" with "{{ include "docker-registry.namespace" . }}" for consistency - Apply this change across all resource templates (deployment, service, configmap, secret, cronjob, pvc, etc.) This refactoring improves maintainability and ensures consistent namespace handling throughout the chart, particularly for multi-namespace deployments in combined charts. Signed-off-by: bwdmr --- templates/_helpers.tpl | 11 +++++++++++ templates/configmap.yaml | 2 +- templates/cronjob.yaml | 2 +- templates/deployment.yaml | 2 +- templates/ingress.yaml | 2 +- templates/poddisruptionbudget.yaml | 2 +- templates/pvc.yaml | 2 +- templates/secret.yaml | 2 +- templates/service.yaml | 2 +- templates/serviceaccount.yaml | 2 +- 10 files changed, 20 insertions(+), 9 deletions(-) diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl index d9d7531..dc256c8 100644 --- a/templates/_helpers.tpl +++ b/templates/_helpers.tpl @@ -1,4 +1,15 @@ {{/* vim: set filetype=mustache: */}} +{{/* +Allow the release namespace to be overridden for multi-namespace deployments in combined charts +*/}} +{{- define "docker-registry.namespace" -}} + {{- if .Values.namespace -}} + {{- .Values.namespace -}} + {{- else -}} + {{- .Release.Namespace -}} + {{- end -}} +{{- end -}} + {{/* Expand the name of the chart. */}} diff --git a/templates/configmap.yaml b/templates/configmap.yaml index 0f046ea..76664f7 100644 --- a/templates/configmap.yaml +++ b/templates/configmap.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: {{ template "docker-registry.fullname" . }}-config - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version }} diff --git a/templates/cronjob.yaml b/templates/cronjob.yaml index 780cf87..f1521fe 100644 --- a/templates/cronjob.yaml +++ b/templates/cronjob.yaml @@ -3,7 +3,7 @@ apiVersion: batch/v1 kind: CronJob metadata: name: {{ template "docker-registry.fullname" . }}-garbage-collector - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} diff --git a/templates/deployment.yaml b/templates/deployment.yaml index dff79cb..845d98c 100644 --- a/templates/deployment.yaml +++ b/templates/deployment.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: {{ template "docker-registry.fullname" . }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} diff --git a/templates/ingress.yaml b/templates/ingress.yaml index cb90c2f..1323637 100644 --- a/templates/ingress.yaml +++ b/templates/ingress.yaml @@ -7,7 +7,7 @@ apiVersion: {{- if $apiVersions.Has "networking.k8s.io/v1" }} networking.k8s.io/ kind: Ingress metadata: name: {{ template "docker-registry.fullname" . }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} diff --git a/templates/poddisruptionbudget.yaml b/templates/poddisruptionbudget.yaml index 5a551d3..289ba26 100644 --- a/templates/poddisruptionbudget.yaml +++ b/templates/poddisruptionbudget.yaml @@ -7,7 +7,7 @@ apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: name: {{ template "docker-registry.fullname" . }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} diff --git a/templates/pvc.yaml b/templates/pvc.yaml index dea0539..ce092ab 100644 --- a/templates/pvc.yaml +++ b/templates/pvc.yaml @@ -4,7 +4,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: name: {{ template "docker-registry.fullname" . }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.fullname" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" diff --git a/templates/secret.yaml b/templates/secret.yaml index 6265dc8..ff9c518 100644 --- a/templates/secret.yaml +++ b/templates/secret.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Secret metadata: name: {{ template "docker-registry.fullname" . }}-secret - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version }} diff --git a/templates/service.yaml b/templates/service.yaml index 9a650e1..db0a653 100644 --- a/templates/service.yaml +++ b/templates/service.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "docker-registry.fullname" . }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} labels: app: {{ template "docker-registry.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} diff --git a/templates/serviceaccount.yaml b/templates/serviceaccount.yaml index 6cef434..6d6cb9c 100644 --- a/templates/serviceaccount.yaml +++ b/templates/serviceaccount.yaml @@ -7,7 +7,7 @@ metadata: chart: {{ .Chart.Name }}-{{ .Chart.Version }} heritage: {{ .Release.Service }} release: {{ .Release.Name }} - namespace: {{ .Values.namespace | default .Release.Namespace }} + namespace: {{ include "docker-registry.namespace" . }} {{- if .Values.serviceAccount.name }} name: {{ .Values.serviceAccount.name }} {{- else }}