From fbe3df84bf2e5821567e470ce33bef678609c820 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Mon, 18 Dec 2023 14:07:33 +0100
Subject: [PATCH] OZG-3880 network policy dynamic dns server config

---
 run_helm_test.sh                            |  5 ++-
 src/main/helm/templates/network_policy.yaml |  5 +--
 src/test/helm/network_policy_test.yaml      |  5 +--
 src/test/linter-values.yaml                 | 41 +++++++++++++++++++++
 src/test/unit-values.yaml                   |  3 +-
 5 files changed, 48 insertions(+), 11 deletions(-)
 create mode 100644 src/test/linter-values.yaml

diff --git a/run_helm_test.sh b/run_helm_test.sh
index 7324e7d1..ceb8ca70 100755
--- a/run_helm_test.sh
+++ b/run_helm_test.sh
@@ -1,7 +1,8 @@
 #!/bin/sh
 
 set -e
+set -x
 
-helm template  ./src/main/helm/ -f src/test/unit-values.yaml
-helm lint -f src/test/unit-values.yaml ./src/main/helm/
+helm template  ./src/main/helm/ -f src/test/linter-values.yaml
+helm lint -f src/test/linter-values.yaml ./src/main/helm/
 cd src/main/helm && helm unittest --helm3 -f '../../test/helm/*.yaml' -v '../../test/unit-values.yaml' .
\ No newline at end of file
diff --git a/src/main/helm/templates/network_policy.yaml b/src/main/helm/templates/network_policy.yaml
index e8a339f4..31b7db78 100644
--- a/src/main/helm/templates/network_policy.yaml
+++ b/src/main/helm/templates/network_policy.yaml
@@ -56,10 +56,7 @@ spec:
   - to:
     - namespaceSelector:
         matchLabels:
-          kubernetes.io/metadata.name: kube-system
-      podSelector:
-        matchLabels:
-          k8s-app: kube-dns
+          kubernetes.io/metadata.name: {{ required "networkPolicy.dnsServerNamespace must be set" (.Values.networkPolicy).dnsServerNamespace }}
     ports:
       - port: 53
         protocol: UDP
diff --git a/src/test/helm/network_policy_test.yaml b/src/test/helm/network_policy_test.yaml
index ed301b85..a2880b89 100644
--- a/src/test/helm/network_policy_test.yaml
+++ b/src/test/helm/network_policy_test.yaml
@@ -72,10 +72,7 @@ tests:
             - to:
               - namespaceSelector:
                   matchLabels:
-                    kubernetes.io/metadata.name: kube-system
-                podSelector:
-                  matchLabels:
-                    k8s-app: kube-dns
+                    kubernetes.io/metadata.name: test-namespace-dns
               ports:
                 - port: 53
                   protocol: UDP
diff --git a/src/test/linter-values.yaml b/src/test/linter-values.yaml
new file mode 100644
index 00000000..90be3712
--- /dev/null
+++ b/src/test/linter-values.yaml
@@ -0,0 +1,41 @@
+#
+# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
+# Ministerpräsidenten des Landes Schleswig-Holstein
+# Staatskanzlei
+# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
+#
+# Lizenziert unter der EUPL, Version 1.2 oder - sobald
+# diese von der Europäischen Kommission genehmigt wurden -
+# Folgeversionen der EUPL ("Lizenz");
+# Sie dürfen dieses Werk ausschließlich gemäß
+# dieser Lizenz nutzen.
+# Eine Kopie der Lizenz finden Sie hier:
+#
+# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+#
+# Sofern nicht durch anwendbare Rechtsvorschriften
+# gefordert oder in schriftlicher Form vereinbart, wird
+# die unter der Lizenz verbreitete Software "so wie sie
+# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
+# ausdrücklich oder stillschweigend - verbreitet.
+# Die sprachspezifischen Genehmigungen und Beschränkungen
+# unter der Lizenz sind dem Lizenztext zu entnehmen.
+#
+
+baseUrl: test.sh.ozg-cloud.de
+
+ozgcloud:
+  bundesland: sh
+  bezeichner: helm
+  environment: test
+  keycloak:
+    api:
+      password: geheim
+
+sso:
+  serverUrl: sso.test.sh.ozg-cloud.de
+  
+networkPolicy:
+  ssoPublicIp: 51.89.117.53/32
+  dnsServerNamespace: test-dns-namespace
+  
\ No newline at end of file
diff --git a/src/test/unit-values.yaml b/src/test/unit-values.yaml
index b770b562..41c86791 100644
--- a/src/test/unit-values.yaml
+++ b/src/test/unit-values.yaml
@@ -36,4 +36,5 @@ sso:
   serverUrl: sso.test.sh.ozg-cloud.de
   
 networkPolicy:
-  ssoPublicIp: 51.89.117.53/32
\ No newline at end of file
+  ssoPublicIp: 51.89.117.53/32
+  dnsServerNamespace: test-namespace-dns
\ No newline at end of file
-- 
GitLab