diff --git a/src/main/helm/zufi-server/templates/network_policy.yaml b/src/main/helm/zufi-server/templates/network_policy.yaml index 262f127823c20acb910d86c43dde76c731629c82..98e06c2a9ece105f33d65f0f2e0a7943483eca74 100644 --- a/src/main/helm/zufi-server/templates/network_policy.yaml +++ b/src/main/helm/zufi-server/templates/network_policy.yaml @@ -73,10 +73,11 @@ spec: ports: - protocol: TCP port: 8081 + {{- if (.Values.zentralerEingang).enabled }} - from: - namespaceSelector: matchLabels: - kubernetes.io/metadata.name: {{ required "networkPolicy.zentralerEingangNamespace must be set" (.Values.networkPolicy).zentralerEingangNamespace }} + kubernetes.io/metadata.name: {{ required "zentralerEingang.namespace must be set" .Values.zentralerEingang.namespace }} podSelector: matchExpressions: - key: ozg-component @@ -87,6 +88,7 @@ spec: ports: - protocol: TCP port: 9090 + {{- end }} {{- with (.Values.networkPolicy).additionalIngressConfigLocal }} {{ toYaml . | indent 2 }} {{- end }} diff --git a/src/main/helm/zufi-server/values.yaml b/src/main/helm/zufi-server/values.yaml index 7d96f638cc86f7d4f66fcea2d297a69c1629f141..e529b3cd7af4e6aa3f6307f7a044450550fc4cac 100644 --- a/src/main/helm/zufi-server/values.yaml +++ b/src/main/helm/zufi-server/values.yaml @@ -40,5 +40,6 @@ database: tls: secretName: "ozg-mongodb-tls-cert" -networkPolicy: - zentralerEingangNamespace: \ No newline at end of file +zentralerEingang: + enabled: true + namespace: \ No newline at end of file diff --git a/src/test/helm/zufi-server/network_policy_test.yaml b/src/test/helm/zufi-server/network_policy_test.yaml index 6ff12b3de01ca452ee59ca557478d457648bf3c8..ea13cb972a17bb4c9414489c18be4ae109d59bc4 100644 --- a/src/test/helm/zufi-server/network_policy_test.yaml +++ b/src/test/helm/zufi-server/network_policy_test.yaml @@ -32,28 +32,31 @@ templates: tests: - it: should match apiVersion set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang asserts: - isAPIVersion: of: networking.k8s.io/v1 - it: should match kind set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang asserts: - isKind: of: NetworkPolicy - it: validate metadata set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang asserts: - equal: path: metadata @@ -63,10 +66,11 @@ tests: - it: should generate spec set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang asserts: - equal: path: spec @@ -153,10 +157,11 @@ tests: - it: should set monitoring namespace set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang monitoringNamespace: test-monitoring asserts: - contains: @@ -172,10 +177,11 @@ tests: - it: add ingress rule by values local set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang additionalIngressConfigLocal: - from: - podSelector: @@ -191,10 +197,11 @@ tests: component: client2 - it: add ingress rule by values global set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang additionalIngressConfigGlobal: - from: - podSelector: @@ -211,10 +218,11 @@ tests: - it: add egress rules by values local set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang additionalEgressConfigLocal: - to: - ipBlock: @@ -228,10 +236,11 @@ tests: cidr: 1.2.3.4/32 - it: add egress rules by values Global set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang additionalEgressConfigGlobal: - to: - ipBlock: @@ -253,49 +262,78 @@ tests: count: 0 - it: test by default network policy enabled set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang asserts: - hasDocuments: count: 1 - it: test network policy set as enabled set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: disabled: false dnsServerNamespace: test-dns-namespace fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang asserts: - hasDocuments: count: 1 - it: test dnsServerNamespace must be set message set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: disabled: false fachstellenProxyNamespace: fachstellen-proxy - zentralerEingangNamespace: zentraler-eingang asserts: - failedTemplate: errorMessage: networkPolicy.dnsServerNamespace must be set - it: test fachstellen-proxy namespace must be set message set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: disabled: false dnsServerNamespace: test-dns-namespace - zentralerEingangNamespace: zentraler-eingang asserts: - failedTemplate: errorMessage: networkPolicy.fachstellenProxyNamespace must be set - - it: test zentralerEingangNamespace namespace must be set message + - it: test zentralerEingang.namespace must be set message set: networkPolicy: dnsServerNamespace: test-dns-namespace fachstellenProxyNamespace: fachstellen-proxy asserts: - failedTemplate: - errorMessage: networkPolicy.zentralerEingangNamespace must be set + errorMessage: zentralerEingang.namespace must be set + + - it: test disable zentralerEingang network policy + set: + zentralerEingang: + enabled: false + namespace: zentraler-eingang + networkPolicy: + dnsServerNamespace: test-dns-namespace + fachstellenProxyNamespace: fachstellen-proxy + asserts: + - notContains: + any: true + path: spec.ingress + content: + from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: zentraler-eingang + podSelector: + matchExpressions: + - key: ozg-component + operator: In + values: + - eingangsadapter + - xta-adapter diff --git a/src/test/required-values.yaml b/src/test/required-values.yaml index 58a8a022ca6a789d485e473fcc87d1f725f4b12b..841ae735edc3f25da2e6002e428e212ddd2c0bcc 100644 --- a/src/test/required-values.yaml +++ b/src/test/required-values.yaml @@ -46,4 +46,6 @@ oidc: networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: proxy - zentralerEingangNamespace: zentraler-eingang + +zentralerEingang: + namespace: zentraler-eingang