From f070bed03a905366ddfa94fd0df235252a01d7a6 Mon Sep 17 00:00:00 2001
From: Felix Reichenbach <felix.reichenbach@mgm-tp.com>
Date: Fri, 21 Mar 2025 12:21:55 +0100
Subject: [PATCH] OZG-7573 add conditional egress for forwarding

---
 src/main/helm/templates/network_policy.yaml |  34 +-
 src/test/helm/network_policy_test.yaml      | 545 +++++++++++---------
 2 files changed, 315 insertions(+), 264 deletions(-)

diff --git a/src/main/helm/templates/network_policy.yaml b/src/main/helm/templates/network_policy.yaml
index b87509495..4e6fb3e0a 100644
--- a/src/main/helm/templates/network_policy.yaml
+++ b/src/main/helm/templates/network_policy.yaml
@@ -22,7 +22,7 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-{{- if not (.Values.networkPolicy).disabled }} 
+{{- if not (.Values.networkPolicy).disabled }}
 apiVersion: networking.k8s.io/v1
 kind: NetworkPolicy
 metadata:
@@ -39,10 +39,10 @@ spec:
   - ports:
     - port: 9090
     from:
-    - podSelector: 
+    - podSelector:
         matchLabels:
           component: alfa
-    - podSelector: 
+    - podSelector:
         matchLabels:
           ozg-component: eingangsadapter
     - podSelector:
@@ -50,7 +50,7 @@ spec:
           ozg-component: xta-adapter
 {{- if ((.Values.ozgcloud).aggregationManager).enabled }}
   - from:
-    - podSelector: 
+    - podSelector:
         matchLabels:
           component: aggregation-manager
     ports:
@@ -69,7 +69,7 @@ spec:
     - namespaceSelector:
         matchLabels:
           kubernetes.io/metadata.name: {{((.Values.ozgcloud).antragraum).antragraumProxyNamespace | default "antragraum-proxy"}}
-      podSelector: 
+      podSelector:
         matchLabels:
           component: antragraum-proxy
 {{- end }}
@@ -87,7 +87,7 @@ spec:
               - xta-adapter
     ports:
     - protocol: TCP
-      port: 9090 
+      port: 9090
 
 {{- with (.Values.networkPolicy).additionalIngressConfigLocal }}
 {{ toYaml . | indent 2 }}
@@ -114,7 +114,7 @@ spec:
       - port: 27017
         protocol: TCP
   - to:
-    - podSelector: 
+    - podSelector:
         matchLabels:
           component: user-manager
     ports:
@@ -122,7 +122,7 @@ spec:
         protocol: TCP
 {{- if ((.Values.ozgcloud).bayernid).enabled }}
   - to:
-    - podSelector: 
+    - podSelector:
         matchLabels:
           component: bayernid-proxy
       namespaceSelector:
@@ -130,14 +130,14 @@ spec:
           kubernetes.io/metadata.name: {{ required "ozgcloud.bayernid.proxy.namespace must be set if bayernid is enabled" (((.Values.ozgcloud).bayernid).proxy).namespace }}
     ports:
       - port: 9090
-        protocol: TCP 
+        protocol: TCP
 {{- end }}
 {{- if ((.Values.ozgcloud).antragraum).enabled }}
   - to:
       - namespaceSelector:
           matchLabels:
             kubernetes.io/metadata.name: {{((.Values.ozgcloud).infoManager).namespace | default "info-manager"}}
-        podSelector: 
+        podSelector:
           matchLabels:
             component: info-manager
 {{- end }}
@@ -146,13 +146,25 @@ spec:
     - namespaceSelector:
         matchLabels:
           kubernetes.io/metadata.name: {{ required "zufiManager.namespace must be set if zufiManager server is enabled" (.Values.zufiManager).namespace }}
-      podSelector: 
+      podSelector:
         matchLabels:
           component: zufi-server
     ports:
       - port: 9090
         protocol: TCP
 {{- end }}
+{{- if (.Values.forwarding).enabled }}
+  - to:
+    - namespaceSelector:
+        matchLabels:
+          kubernetes.io/metadata.name: {{ required "forwarding.namespace must be set if forwarding is enabled" (.Values.forwarding).namespace }}
+      podSelector:
+        matchLabels:
+          component: {{ required "forwarding.serviceName must be set if forwarding is enabled" (.Values.forwarding).serviceName }}
+    ports:
+      - port: 9090
+        protocol: TCP
+{{- end }}
 {{- if ((.Values.ozgcloud).muk).enabled }}
   - to:
     - podSelector:
diff --git a/src/test/helm/network_policy_test.yaml b/src/test/helm/network_policy_test.yaml
index 17c7a4761..fff3066c0 100644
--- a/src/test/helm/network_policy_test.yaml
+++ b/src/test/helm/network_policy_test.yaml
@@ -30,7 +30,7 @@ templates:
 
 tests:
   - it: should match apiVersion
-    set: 
+    set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
     asserts:
@@ -38,7 +38,7 @@ tests:
           of: networking.k8s.io/v1
 
   - it: should match kind
-    set: 
+    set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
     asserts:
@@ -46,7 +46,7 @@ tests:
           of: NetworkPolicy
 
   - it: validate metadata
-    set: 
+    set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
     asserts:
@@ -57,7 +57,7 @@ tests:
             namespace: by-helm-test
 
   - it: should set policy target matchLabel
-    set: 
+    set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
     asserts:
@@ -67,9 +67,8 @@ tests:
             matchLabels:
               component: vorgang-manager
 
-
   - it: should add policyType Egress
-    set: 
+    set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
     asserts:
@@ -78,7 +77,7 @@ tests:
           content: Egress
 
   - it: should add policyType Ingress
-    set: 
+    set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
     asserts:
@@ -87,44 +86,44 @@ tests:
           content: Ingress
 
   - it: should add ingress rule for eingangsmanager and alfa
-    set: 
+    set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
     asserts:
       - contains:
           path: spec.ingress
           content:
-              ports:
+            ports:
               - port: 9090
-              from:
-              - podSelector: 
+            from:
+              - podSelector:
                   matchLabels:
                     component: alfa
-              - podSelector: 
+              - podSelector:
                   matchLabels:
                     ozg-component: eingangsadapter
               - podSelector:
-                      matchLabels:
-                        ozg-component: xta-adapter
+                  matchLabels:
+                    ozg-component: xta-adapter
 
   - it: should add ingress rule for monitoring scraper
-    set: 
+    set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
     asserts:
       - contains:
           path: spec.ingress
           content:
-              ports:
+            ports:
               - port: 8081
                 protocol: TCP
-              from:
-              - namespaceSelector: 
+            from:
+              - namespaceSelector:
                   matchLabels:
                     name: openshift-user-workload-monitoring
 
   - it: should set monitoring namespace for monitoring scraper ingress rule
-    set: 
+    set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
         monitoringNamespace: test-monitoring
@@ -132,11 +131,11 @@ tests:
       - contains:
           path: spec.ingress
           content:
-              ports:
+            ports:
               - port: 8081
                 protocol: TCP
-              from:
-              - namespaceSelector: 
+            from:
+              - namespaceSelector:
                   matchLabels:
                     name: test-monitoring
 
@@ -148,16 +147,16 @@ tests:
         antragraum:
           enabled: true
     asserts:
-    - contains:
-        path: spec.ingress
-        content:
-          from:
-            - namespaceSelector:
-                matchLabels:
-                  kubernetes.io/metadata.name: antragraum-proxy
-              podSelector: 
-                matchLabels:
-                  component: antragraum-proxy
+      - contains:
+          path: spec.ingress
+          content:
+            from:
+              - namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: antragraum-proxy
+                podSelector:
+                  matchLabels:
+                    component: antragraum-proxy
 
   - it: should set ingress rule for antragraum-proxy if antragraum is enabled
     set:
@@ -168,17 +167,16 @@ tests:
           enabled: true
           antragraumProxyNamespace: antragraum-proxy
     asserts:
-    - contains:
-        path: spec.ingress
-        content:
-          from:
-            - namespaceSelector:
-                matchLabels:
-                  kubernetes.io/metadata.name: antragraum-proxy
-              podSelector: 
-                matchLabels:
-                  component: antragraum-proxy
-
+      - contains:
+          path: spec.ingress
+          content:
+            from:
+              - namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: antragraum-proxy
+                podSelector:
+                  matchLabels:
+                    component: antragraum-proxy
 
   - it: should not add ingress rule for antragraum if antragraum is disabled
     set:
@@ -188,16 +186,16 @@ tests:
         antragraum:
           enabled: false
     asserts:
-    - notContains:
-        path: spec.ingress
-        content:
-          from:
-            - namespaceSelector:
-                matchLabels:
-                  kubernetes.io/metadata.name: antragraum
-              podSelector: 
-                matchLabels:
-                  component: antragraum-server
+      - notContains:
+          path: spec.ingress
+          content:
+            from:
+              - namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: antragraum
+                podSelector:
+                  matchLabels:
+                    component: antragraum-server
 
   - it: should not add ingress rule for antragraum-proxy if antragraum is disabled
     set:
@@ -207,40 +205,40 @@ tests:
         antragraum:
           enabled: false
     asserts:
-    - notContains:
-        path: spec.ingress
-        content:
-          from:
-            - namespaceSelector:
-                matchLabels:
-                  kubernetes.io/metadata.name: antragraum-proxy
-              podSelector: 
-                matchLabels:
-                  component: antragraum-proxy
-        any: true
+      - notContains:
+          path: spec.ingress
+          content:
+            from:
+              - namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: antragraum-proxy
+                podSelector:
+                  matchLabels:
+                    component: antragraum-proxy
+          any: true
 
   - it: should add default ingress rule for zentraler-eingang
     set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
     asserts:
-    - contains:
-        path: spec.ingress
-        content:
-          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 
+      - contains:
+          path: spec.ingress
+          content:
+            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
 
   - it: should add ingress rule for zentraler-eingang
     set:
@@ -248,24 +246,23 @@ tests:
         dnsServerNamespace: test-dns-namespace
         zentralerEingangNamespace: custom-namespace
     asserts:
-    - contains:
-        path: spec.ingress
-        content:
-          from:
-          - namespaceSelector:
-              matchLabels:
-                kubernetes.io/metadata.name: custom-namespace
-            podSelector:
-              matchExpressions:
-                - key: ozg-component
-                  operator: In
-                  values:
-                    - eingangsadapter
-                    - xta-adapter
-          ports:
-          - protocol: TCP
-            port: 9090 
-
+      - contains:
+          path: spec.ingress
+          content:
+            from:
+              - namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: custom-namespace
+                podSelector:
+                  matchExpressions:
+                    - key: ozg-component
+                      operator: In
+                      values:
+                        - eingangsadapter
+                        - xta-adapter
+            ports:
+              - protocol: TCP
+                port: 9090
 
   - it: should add egress rule to elasticsearch
     set:
@@ -275,16 +272,16 @@ tests:
       - contains:
           path: spec.egress
           content:
-              to:
+            to:
               - namespaceSelector:
                   matchLabels:
                     kubernetes.io/metadata.name: elastic-system
                 podSelector:
                   matchLabels:
-                    elasticsearch.k8s.elastic.co/cluster-name : ozg-search-cluster
-              ports:
-                - port: 9200
-                  protocol: TCP
+                    elasticsearch.k8s.elastic.co/cluster-name: ozg-search-cluster
+            ports:
+              - port: 9200
+                protocol: TCP
 
   - it: should add egress rule to mongodb
     set:
@@ -294,13 +291,13 @@ tests:
       - contains:
           path: spec.egress
           content:
-              to:
+            to:
               - podSelector:
                   matchLabels:
                     component: ozgcloud-mongodb
-              ports:
-                - port: 27017
-                  protocol: TCP
+            ports:
+              - port: 27017
+                protocol: TCP
 
   - it: should add egress rule to user-manager
     set:
@@ -310,13 +307,13 @@ tests:
       - contains:
           path: spec.egress
           content:
-              to:
-              - podSelector: 
+            to:
+              - podSelector:
                   matchLabels:
                     component: user-manager
-              ports:
-                - port: 9000
-                  protocol: TCP
+            ports:
+              - port: 9000
+                protocol: TCP
 
   - it: should add egress rule to nachrichten-bayernid-proxy if bayernid is enabled
     set:
@@ -332,15 +329,15 @@ tests:
           path: spec.egress
           content:
             to:
-            - podSelector: 
-                matchLabels:
-                  component: bayernid-proxy
-              namespaceSelector:
-                matchLabels:
-                  kubernetes.io/metadata.name: bayernidProxyNamespace
+              - podSelector:
+                  matchLabels:
+                    component: bayernid-proxy
+                namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: bayernidProxyNamespace
             ports:
-            - port: 9090
-              protocol: TCP 
+              - port: 9090
+                protocol: TCP
 
   - it: should not add egress rule to bayernid-proxy if bayernid is disabled
     set:
@@ -354,16 +351,16 @@ tests:
           path: spec.egress
           content:
             to:
-            - podSelector: 
-                matchLabels:
-                  component: bayernid-proxy
-              namespaceSelector:
-                matchLabels:
-                      kubernetes.io/metadata.name: bayernidProxyNamespace
+              - podSelector:
+                  matchLabels:
+                    component: bayernid-proxy
+                namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: bayernidProxyNamespace
             ports:
-            - port: 9090
-              protocol: TCP 
-  
+              - port: 9090
+                protocol: TCP
+
   - it: should throw error if bayernid-proxy is enabled but bayernid namespace is not set
     set:
       networkPolicy:
@@ -390,7 +387,7 @@ tests:
               - namespaceSelector:
                   matchLabels:
                     kubernetes.io/metadata.name: info-manager
-                podSelector: 
+                podSelector:
                   matchLabels:
                     component: info-manager
 
@@ -411,7 +408,7 @@ tests:
               - namespaceSelector:
                   matchLabels:
                     kubernetes.io/metadata.name: info-manager2
-                podSelector: 
+                podSelector:
                   matchLabels:
                     component: info-manager
 
@@ -430,7 +427,7 @@ tests:
               - namespaceSelector:
                   matchLabels:
                     kubernetes.io/metadata.name: info-manager
-                podSelector: 
+                podSelector:
                   matchLabels:
                     component: info-manager
 
@@ -446,16 +443,15 @@ tests:
           path: spec.egress
           content:
             to:
-            - podSelector: 
-                matchLabels:
-                  component: zufi-server
-              namespaceSelector:
-                matchLabels:
-                      kubernetes.io/metadata.name: zufi
+              - podSelector:
+                  matchLabels:
+                    component: zufi-server
+                namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: zufi
             ports:
-            - port: 9090
-              protocol: TCP         
-                  
+              - port: 9090
+                protocol: TCP
 
   - it: should not add egress rule to zufi server if zufi is disabled
     set:
@@ -469,14 +465,58 @@ tests:
           path: spec.egress
           content:
             to:
-            - namespaceSelector:
-                matchLabels:
-                  kubernetes.io/metadata.name: zufi
-              podSelector: 
-                matchLabels:
-                  component: zufi-server
+              - namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: zufi
+                podSelector:
+                  matchLabels:
+                    component: zufi-server
+          any: true
+
+  - it: should add egress rule to forwarding service if forwarding is enabled
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
+      forwarding:
+        enabled: true
+        namespace: zentraler-eingang
+        serviceName: fs-adapter
+    asserts:
+      - contains:
+          path: spec.egress
+          content:
+            to:
+              - podSelector:
+                  matchLabels:
+                    component: fs-adapter
+                namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: zentraler-eingang
+            ports:
+              - port: 9090
+                protocol: TCP
+
+  - it: should not add egress rule to forwarding service if forwarding is disabled
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
+      forwarding:
+        enabled: false
+        namespace: zentraler-eingang
+        serviceName: fs-adapter
+    asserts:
+      - notContains:
+          path: spec.egress
+          content:
+            to:
+              - podSelector:
+                  matchLabels:
+                    component: fs-adapter
+                namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: zentraler-eingang
           any: true
-  
+
   - it: should throw error if zufi is enabled but zufi namespace is not set
     set:
       networkPolicy:
@@ -496,17 +536,16 @@ tests:
     asserts:
       - notContains:
           path: spec.egress
-          content: 
+          content:
             to:
-            - namespaceSelector:
-                matchLabels:
-                  kubernetes.io/metadata.name: zufi
-              podSelector: 
-                matchLabels:
-                  component: zufi-server
+              - namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: zufi
+                podSelector:
+                  matchLabels:
+                    component: zufi-server
           any: true
 
-
   - it: should add egress rule to dns service
     set:
       networkPolicy:
@@ -515,19 +554,19 @@ tests:
       - contains:
           path: spec.egress
           content:
-              to:
+            to:
               - namespaceSelector:
                   matchLabels:
                     kubernetes.io/metadata.name: test-dns-namespace
-              ports:
-                - port: 53
-                  protocol: UDP
-                - port: 53
-                  protocol: TCP
-                - port: 5353
-                  protocol: UDP
-                - port: 5353
-                  protocol: TCP
+            ports:
+              - port: 53
+                protocol: UDP
+              - port: 53
+                protocol: TCP
+              - port: 5353
+                protocol: UDP
+              - port: 5353
+                protocol: TCP
 
   - it: add ingress rule local by values
     set:
@@ -535,89 +574,89 @@ tests:
         dnsServerNamespace: test-dns-namespace
         ssoPublicIp: 51.89.117.53/32
         additionalIngressConfigGlobal:
-        - from:
-          - podSelector: 
-              matchLabels:
-                component: client2
+          - from:
+              - podSelector:
+                  matchLabels:
+                    component: client2
     asserts:
       - contains:
           path: spec.ingress
           content:
             from:
-            - podSelector: 
-                matchLabels:
-                  component: client2
+              - podSelector:
+                  matchLabels:
+                    component: client2
   - it: add ingress rule global by values
     set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
         ssoPublicIp: 51.89.117.53/32
         additionalIngressConfigLocal:
-        - from:
-          - podSelector: 
-              matchLabels:
-                component: client2
+          - from:
+              - podSelector:
+                  matchLabels:
+                    component: client2
     asserts:
       - contains:
           path: spec.ingress
           content:
             from:
-            - podSelector: 
-                matchLabels:
-                  component: client2
+              - podSelector:
+                  matchLabels:
+                    component: client2
 
   - it: add egress rules local by values
     set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
         additionalEgressConfigGlobal:
-        - to:
-          - ipBlock:
-              cidr: 1.2.3.4/32
-        - to:
-          - podSelector:
-              matchLabels:
-                component: ozg-testservice
-          ports:
-            - port: 12345
-              protocol: TCP
-    asserts:
-    - contains:
-        path: spec.egress
-        content:
-          to:
-          - ipBlock:
-              cidr: 1.2.3.4/32
-    - contains:
-        path: spec.egress
-        content:
-          to:
-          - podSelector:
-              matchLabels:
-                component: ozg-testservice
-          ports:
-            - port: 12345
-              protocol: TCP
+          - to:
+              - ipBlock:
+                  cidr: 1.2.3.4/32
+          - to:
+              - podSelector:
+                  matchLabels:
+                    component: ozg-testservice
+            ports:
+              - port: 12345
+                protocol: TCP
+    asserts:
+      - contains:
+          path: spec.egress
+          content:
+            to:
+              - ipBlock:
+                  cidr: 1.2.3.4/32
+      - contains:
+          path: spec.egress
+          content:
+            to:
+              - podSelector:
+                  matchLabels:
+                    component: ozg-testservice
+            ports:
+              - port: 12345
+                protocol: TCP
   - it: add egress rules global by values
     set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
         additionalEgressConfigLocal:
-        - to:
-          - ipBlock:
-              cidr: 1.2.3.4/32
-        - to:
-          - podSelector:
-              matchLabels:
-                additionalEgressConfigLocal: yes
-    asserts:
-    - contains:
-        path: spec.egress
-        content:
-          to:
-          - podSelector:
-              matchLabels:
-                additionalEgressConfigLocal: yes
+          - to:
+              - ipBlock:
+                  cidr: 1.2.3.4/32
+          - to:
+              - podSelector:
+                  matchLabels:
+                    additionalEgressConfigLocal: yes
+    asserts:
+      - contains:
+          path: spec.egress
+          content:
+            to:
+              - podSelector:
+                  matchLabels:
+                    additionalEgressConfigLocal: yes
 
   - it: test network policy disabled
     set:
@@ -676,15 +715,15 @@ tests:
           path: spec.egress
           content:
             to:
-            - podSelector: 
-                matchLabels:
-                  app.kubernetes.io/name: elster-transfer
-              namespaceSelector:
-                matchLabels:
-                  kubernetes.io/metadata.name: elster-transfer
+              - podSelector:
+                  matchLabels:
+                    app.kubernetes.io/name: elster-transfer
+                namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: elster-transfer
             ports:
-            - port: 8081
-              protocol: TCP
+              - port: 8081
+                protocol: TCP
 
   - it: should set elster transfer name
     set:
@@ -701,15 +740,15 @@ tests:
           path: spec.egress
           content:
             to:
-            - podSelector: 
-                matchLabels:
-                  app.kubernetes.io/name: elster-transfer-test
-              namespaceSelector:
-                matchLabels:
-                  kubernetes.io/metadata.name: elster-transfer
+              - podSelector:
+                  matchLabels:
+                    app.kubernetes.io/name: elster-transfer-test
+                namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: elster-transfer
             ports:
-            - port: 8081
-              protocol: TCP
+              - port: 8081
+                protocol: TCP
 
   - it: should not add egress rule for elster-transfer if muk is disabled
     set:
@@ -725,15 +764,15 @@ tests:
           path: spec.egress
           content:
             to:
-            - podSelector: 
-                matchLabels:
-                  app.kubernetes.io/name: elster-transfer
-              namespaceSelector:
-                matchLabels:
-                  kubernetes.io/metadata.name: elster-transfer
+              - podSelector:
+                  matchLabels:
+                    app.kubernetes.io/name: elster-transfer
+                namespaceSelector:
+                  matchLabels:
+                    kubernetes.io/metadata.name: elster-transfer
           any: true
   - it: should add ingress rule for aggregation-manager
-    set: 
+    set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
       ozgcloud:
@@ -743,26 +782,26 @@ tests:
       - contains:
           path: spec.ingress
           content:
-              ports:
+            ports:
               - port: 9090
                 protocol: TCP
-              from:
-              - podSelector: 
+            from:
+              - podSelector:
                   matchLabels:
                     component: aggregation-manager
 
   - it: should not add ingress rule for aggregation-manager
-    set: 
+    set:
       networkPolicy:
         dnsServerNamespace: test-dns-namespace
     asserts:
       - notContains:
           path: spec.ingress
           content:
-              ports:
+            ports:
               - port: 9090
                 protocol: TCP
-              from:
-              - podSelector: 
+            from:
+              - podSelector:
                   matchLabels:
                     component: aggregation-manager
-- 
GitLab