From 0c4eee63d2263cd4a6fa999da50b9c8734c4fa15 Mon Sep 17 00:00:00 2001
From: Simon Ostendorf <github@simon-ostendorf.de>
Date: Wed, 5 Jul 2023 09:55:43 +0200
Subject: [PATCH] fix(helm-chart): resource namespace and name (#462)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This should fix the issue that you can change the release namespace with
helm, but the deployment will not take care of it.

Also this allows the user to use the nameoverwrite that was already
defined inside the chart helpers.

---------

Co-authored-by: Julian Tölle <julian.toelle@hetzner-cloud.de>
---
 chart/templates/clusterrolebinding.yaml | 4 ++--
 chart/templates/deployment.yaml         | 6 +++---
 chart/templates/podmonitor.yaml         | 3 ++-
 chart/templates/serviceaccount.yaml     | 4 ++--
 skaffold.yaml                           | 1 +
 5 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/chart/templates/clusterrolebinding.yaml b/chart/templates/clusterrolebinding.yaml
index ea5d3164..95707a1b 100644
--- a/chart/templates/clusterrolebinding.yaml
+++ b/chart/templates/clusterrolebinding.yaml
@@ -8,5 +8,5 @@ roleRef:
   name: cluster-admin
 subjects:
   - kind: ServiceAccount
-    name: cloud-controller-manager
-    namespace: kube-system
+    name: {{ include "hcloud-cloud-controller-manager.name" . }}
+    namespace: {{ .Release.Namespace }}
diff --git a/chart/templates/deployment.yaml b/chart/templates/deployment.yaml
index d695904a..ed8e3907 100644
--- a/chart/templates/deployment.yaml
+++ b/chart/templates/deployment.yaml
@@ -1,8 +1,8 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: hcloud-cloud-controller-manager
-  namespace: kube-system
+  name: {{ include "hcloud-cloud-controller-manager.name" . }}
+  namespace: {{ .Release.Namespace }}
 spec:
   replicas: 1
   revisionHistoryLimit: 2
@@ -14,7 +14,7 @@ spec:
       labels:
         {{- include "hcloud-cloud-controller-manager.selectorLabels" . | nindent 8 }}
     spec:
-      serviceAccountName: cloud-controller-manager
+      serviceAccountName: {{ include "hcloud-cloud-controller-manager.name" . }}
       dnsPolicy: Default
       tolerations:
         # Allow HCCM itself to schedule on nodes that have not yet been initialized by HCCM.
diff --git a/chart/templates/podmonitor.yaml b/chart/templates/podmonitor.yaml
index bdc09783..198e7436 100644
--- a/chart/templates/podmonitor.yaml
+++ b/chart/templates/podmonitor.yaml
@@ -3,7 +3,8 @@
 apiVersion: monitoring.coreos.com/v1
 kind: PodMonitor
 metadata:
-  name: hcloud-cloud-controller-manager
+  name: {{ include "hcloud-cloud-controller-manager.name" . }}
+  namespace: {{ .Release.Namespace }}
 spec:
   {{- tpl (toYaml $.Values.monitoring.podMonitor.spec) $ | nindent 2 }}
   selector:
diff --git a/chart/templates/serviceaccount.yaml b/chart/templates/serviceaccount.yaml
index fc31d96f..c92f571f 100644
--- a/chart/templates/serviceaccount.yaml
+++ b/chart/templates/serviceaccount.yaml
@@ -1,5 +1,5 @@
 apiVersion: v1
 kind: ServiceAccount
 metadata:
-  name: cloud-controller-manager
-  namespace: kube-system
+  name: {{ include "hcloud-cloud-controller-manager.name" . }}
+  namespace: {{ .Release.Namespace }}
diff --git a/skaffold.yaml b/skaffold.yaml
index a4478395..f10feed2 100644
--- a/skaffold.yaml
+++ b/skaffold.yaml
@@ -17,6 +17,7 @@ manifests:
   helm:
     releases:
       - name: hccm
+        namespace: kube-system
         chartPath: chart
         setValues:
           networking.enabled: true
-- 
GitLab