From 45dd5f3ac065f23732eb5be76b2bf421a1e35794 Mon Sep 17 00:00:00 2001 From: Alejandro Lazaro Date: Tue, 31 Dec 2024 21:45:10 +0100 Subject: [PATCH] feat: add namespace overrides Allow to override the default namespace in an Umbrella chart --- README.md | 3 ++- src/helm/reflector/templates/_helpers.tpl | 8 ++++++++ src/helm/reflector/templates/clusterRole.yaml | 2 +- src/helm/reflector/templates/clusterRoleBinding.yaml | 6 +++--- src/helm/reflector/templates/cron.yaml | 2 +- src/helm/reflector/templates/deployment.yaml | 2 +- src/helm/reflector/templates/hpa.yaml | 2 +- src/helm/reflector/templates/serviceaccount.yaml | 2 +- src/helm/reflector/values.yaml | 1 + 9 files changed, 19 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 2db9246..1189132 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ You can customize the values of the helm deployment by using the following Value | Parameter | Description | Default | | ---------------------------------------- | ------------------------------------------------ | ------------------------------------------------------- | | `nameOverride` | Overrides release name | `""` | +| `namespaceOverride` | Overrides namespace | `""` | | `fullnameOverride` | Overrides release fullname | `""` | | `image.repository` | Container image repository | `emberstack/kubernetes-reflector` | | `image.tag` | Container image tag | `Same as chart version` | @@ -164,4 +165,4 @@ spec: reflector.v1.k8s.emberstack.com/reflection-allowed: "true" reflector.v1.k8s.emberstack.com/reflection-allowed-namespaces: "" ... - ``` \ No newline at end of file + ``` diff --git a/src/helm/reflector/templates/_helpers.tpl b/src/helm/reflector/templates/_helpers.tpl index bbaaae1..8c1bc45 100644 --- a/src/helm/reflector/templates/_helpers.tpl +++ b/src/helm/reflector/templates/_helpers.tpl @@ -30,6 +30,14 @@ Create chart name and version as used by the chart label. {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} {{- end }} +{{/* +Expand the namespace of the release. +Allows overriding it for multi-namespace deployments in combined charts. +*/}} +{{- define "reflector.namespace" -}} +{{- default .Release.Namespace .Values.namespaceOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + {{/* Common labels */}} diff --git a/src/helm/reflector/templates/clusterRole.yaml b/src/helm/reflector/templates/clusterRole.yaml index 068bfa1..0d1c831 100644 --- a/src/helm/reflector/templates/clusterRole.yaml +++ b/src/helm/reflector/templates/clusterRole.yaml @@ -3,7 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: {{ include "reflector.fullname" . }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "reflector.namespace" . }} labels: {{- include "reflector.labels" . | nindent 4 }} rules: diff --git a/src/helm/reflector/templates/clusterRoleBinding.yaml b/src/helm/reflector/templates/clusterRoleBinding.yaml index 2bb85ba..9fef47a 100644 --- a/src/helm/reflector/templates/clusterRoleBinding.yaml +++ b/src/helm/reflector/templates/clusterRoleBinding.yaml @@ -3,7 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: {{ include "reflector.fullname" . }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "reflector.namespace" . }} labels: {{- include "reflector.labels" . | nindent 4 }} roleRef: @@ -13,5 +13,5 @@ roleRef: subjects: - kind: ServiceAccount name: {{ include "reflector.serviceAccountName" . }} - namespace: {{ .Release.Namespace }} -{{- end }} \ No newline at end of file + namespace: {{ include "reflector.namespace" . }} +{{- end }} diff --git a/src/helm/reflector/templates/cron.yaml b/src/helm/reflector/templates/cron.yaml index 660a48d..34ef812 100644 --- a/src/helm/reflector/templates/cron.yaml +++ b/src/helm/reflector/templates/cron.yaml @@ -4,7 +4,7 @@ apiVersion: {{ .Values.cron.apiVersion | default "batch/v1" }} kind: CronJob metadata: name: {{ include "reflector.fullname" . }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "reflector.namespace" . }} labels: {{- include "reflector.labels" . | nindent 4 }} diff --git a/src/helm/reflector/templates/deployment.yaml b/src/helm/reflector/templates/deployment.yaml index ba28f65..a3ccfc2 100644 --- a/src/helm/reflector/templates/deployment.yaml +++ b/src/helm/reflector/templates/deployment.yaml @@ -4,7 +4,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "reflector.fullname" . }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "reflector.namespace" . }} labels: {{- include "reflector.labels" . | nindent 4 }} diff --git a/src/helm/reflector/templates/hpa.yaml b/src/helm/reflector/templates/hpa.yaml index b12c089..1d6672c 100644 --- a/src/helm/reflector/templates/hpa.yaml +++ b/src/helm/reflector/templates/hpa.yaml @@ -3,7 +3,7 @@ apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: {{ include "reflector.fullname" . }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "reflector.namespace" . }} labels: {{- include "reflector.labels" . | nindent 4 }} spec: diff --git a/src/helm/reflector/templates/serviceaccount.yaml b/src/helm/reflector/templates/serviceaccount.yaml index f2fe4d3..ada1b3d 100644 --- a/src/helm/reflector/templates/serviceaccount.yaml +++ b/src/helm/reflector/templates/serviceaccount.yaml @@ -3,7 +3,7 @@ apiVersion: v1 kind: ServiceAccount metadata: name: {{ include "reflector.serviceAccountName" . }} - namespace: {{ .Release.Namespace }} + namespace: {{ include "reflector.namespace" . }} labels: {{- include "reflector.labels" . | nindent 4 }} {{- with .Values.serviceAccount.annotations }} diff --git a/src/helm/reflector/values.yaml b/src/helm/reflector/values.yaml index 8a4ec9a..1b31c84 100644 --- a/src/helm/reflector/values.yaml +++ b/src/helm/reflector/values.yaml @@ -12,6 +12,7 @@ image: imagePullSecrets: [] nameOverride: "" +namespaceOverride: "" fullnameOverride: "" cron: