diff --git a/src/main/helm/zufi-server/templates/network_policy.yaml b/src/main/helm/zufi-server/templates/network_policy.yaml index b95303d93330efc6438fe1ca4422e4ea938f4425..98e06c2a9ece105f33d65f0f2e0a7943483eca74 100644 --- a/src/main/helm/zufi-server/templates/network_policy.yaml +++ b/src/main/helm/zufi-server/templates/network_policy.yaml @@ -73,6 +73,22 @@ spec: ports: - protocol: TCP port: 8081 + {{- if (.Values.zentralerEingang).enabled }} + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ required "zentralerEingang.namespace must be set" .Values.zentralerEingang.namespace }} + podSelector: + matchExpressions: + - key: ozg-component + operator: In + values: + - eingangsadapter + - xta-adapter + 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 ff55d3566c3cb163260831b8eeca9c342ff4d673..e529b3cd7af4e6aa3f6307f7a044450550fc4cac 100644 --- a/src/main/helm/zufi-server/values.yaml +++ b/src/main/helm/zufi-server/values.yaml @@ -39,3 +39,7 @@ database: secretName: "ozg-mongodb-admin-zufi-manager-user" tls: secretName: "ozg-mongodb-tls-cert" + +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 aa76bfcf8395f343e0a5d76a7161ee119dbb97d5..ea13cb972a17bb4c9414489c18be4ae109d59bc4 100644 --- a/src/test/helm/zufi-server/network_policy_test.yaml +++ b/src/test/helm/zufi-server/network_policy_test.yaml @@ -32,6 +32,8 @@ templates: tests: - it: should match apiVersion set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy @@ -40,6 +42,8 @@ tests: of: networking.k8s.io/v1 - it: should match kind set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy @@ -48,6 +52,8 @@ tests: of: NetworkPolicy - it: validate metadata set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy @@ -60,6 +66,8 @@ tests: - it: should generate spec set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy @@ -126,6 +134,20 @@ tests: ports: - protocol: TCP port: 8081 + - from: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: zentraler-eingang + podSelector: + matchExpressions: + - key: ozg-component + operator: In + values: + - eingangsadapter + - xta-adapter + ports: + - protocol: TCP + port: 9090 podSelector: matchLabels: component: zufi-server @@ -135,6 +157,8 @@ tests: - it: should set monitoring namespace set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy @@ -153,6 +177,8 @@ tests: - it: add ingress rule by values local set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy @@ -171,6 +197,8 @@ tests: component: client2 - it: add ingress rule by values global set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy @@ -190,6 +218,8 @@ tests: - it: add egress rules by values local set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy @@ -206,6 +236,8 @@ 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 @@ -230,6 +262,8 @@ tests: count: 0 - it: test by default network policy enabled set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: fachstellen-proxy @@ -239,6 +273,8 @@ tests: - it: test network policy set as enabled set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: disabled: false dnsServerNamespace: test-dns-namespace @@ -249,6 +285,8 @@ tests: - it: test dnsServerNamespace must be set message set: + zentralerEingang: + namespace: zentraler-eingang networkPolicy: disabled: false fachstellenProxyNamespace: fachstellen-proxy @@ -257,9 +295,45 @@ tests: 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 asserts: - failedTemplate: errorMessage: networkPolicy.fachstellenProxyNamespace must be set + + - it: test zentralerEingang.namespace must be set message + set: + networkPolicy: + dnsServerNamespace: test-dns-namespace + fachstellenProxyNamespace: fachstellen-proxy + asserts: + - failedTemplate: + 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 64c62a50ceac168f70549ad134d34ff449789706..841ae735edc3f25da2e6002e428e212ddd2c0bcc 100644 --- a/src/test/required-values.yaml +++ b/src/test/required-values.yaml @@ -47,3 +47,5 @@ networkPolicy: dnsServerNamespace: test-ns fachstellenProxyNamespace: proxy +zentralerEingang: + namespace: zentraler-eingang