Skip to content
Snippets Groups Projects
network_policy.yaml 5.89 KiB
Newer Older
  • Learn to ignore specific revisions
  • #
    # 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.
    #
    
    
    {{- if not (.Values.networkPolicy).disabled }}
    
    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
    
      name: network-policy-vorgang-manager
    
      namespace: {{ .Release.Namespace }}
    spec:
      podSelector:
        matchLabels:
    
          component: vorgang-manager
    
      policyTypes:
        - Ingress
        - Egress
      ingress:
      - ports:
        - port: 9090
        from:
    
            matchLabels:
    
              component: alfa
    
            matchLabels:
              ozg-component: eingangsadapter
    
        - podSelector:
            matchLabels:
              ozg-component: xta-adapter
    
    {{- if ((.Values.ozgcloud).aggregationManager).enabled }}
      - from:
    
            matchLabels:
              component: aggregation-manager
        ports:
        - protocol: TCP
          port: 9090
    {{- end }}
    
      - from:
        - namespaceSelector:
            matchLabels:
    
              name: {{ (.Values.networkPolicy).monitoringNamespace | default "openshift-user-workload-monitoring" }}
    
        ports:
        - protocol: TCP
          port: 8081
    
    {{- if ((.Values.ozgcloud).antragraum).enabled }}
    
      - from:
        - namespaceSelector:
            matchLabels:
    
              kubernetes.io/metadata.name: {{((.Values.ozgcloud).antragraum).antragraumProxyNamespace | default "antragraum-proxy"}}
    
            matchLabels:
    
              component: antragraum-proxy
    
      - from:
        - namespaceSelector:
            matchLabels:
    
              kubernetes.io/metadata.name: {{ (.Values.networkPolicy).zentralerEingangNamespace }}
    
          podSelector:
            matchExpressions:
              - key: ozg-component
                operator: In
                values:
                  - eingangsadapter
                  - xta-adapter
    
        ports:
        - protocol: TCP
    
    {{- with (.Values.networkPolicy).additionalIngressConfigLocal }}
    
    {{ toYaml . | indent 2 }}
    
    {{- with (.Values.networkPolicy).additionalIngressConfigGlobal }}
    
    {{ toYaml . | indent 2 }}
    
      egress:
      - 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
      - to:
        - podSelector:
            matchLabels:
    
              component: ozgcloud-mongodb
    
        ports:
          - port: 27017
            protocol: TCP
    
            matchLabels:
              component: user-manager
        ports:
    
    {{- if ((.Values.ozgcloud).bayernid).enabled }}
    
              component: bayernid-proxy
    
            matchLabels:
              kubernetes.io/metadata.name: {{ required "ozgcloud.bayernid.proxy.namespace must be set if bayernid is enabled" (((.Values.ozgcloud).bayernid).proxy).namespace }}
    
    {{- end }}
    {{- if ((.Values.ozgcloud).antragraum).enabled }}
      - to:
          - namespaceSelector:
              matchLabels:
    
                kubernetes.io/metadata.name: {{((.Values.ozgcloud).infoManager).namespace | default "info-manager"}}
    
              matchLabels:
                component: info-manager
    
    {{- end }}
    
    {{- if (.Values.zufiManager).enabled }}
    
      - to:
        - namespaceSelector:
            matchLabels:
    
              kubernetes.io/metadata.name: {{ required "zufiManager.namespace must be set if zufiManager server is enabled" (.Values.zufiManager).namespace }}
    
            matchLabels:
              component: zufi-server
    
    {{- 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:
            matchLabels:
              app.kubernetes.io/name: {{ (((.Values.ozgcloud).muk).elsterTransfer).name }}
          namespaceSelector:
            matchLabels:
              kubernetes.io/metadata.name: {{ required "ozgcloud.muk.elsterTransfer.namespace must be set if muk is enabled" (((.Values.ozgcloud).muk).elsterTransfer).namespace }}
        ports:
          - protocol: TCP
            port: 8081
    
      - to:
        - namespaceSelector:
            matchLabels:
    
              kubernetes.io/metadata.name: {{ required "networkPolicy.dnsServerNamespace must be set" (.Values.networkPolicy).dnsServerNamespace }}
    
        ports:
          - port: 53
            protocol: UDP
          - port: 53
            protocol: TCP
    
          - port: 5353
            protocol: UDP
          - port: 5353
            protocol: TCP
    
    {{- with (.Values.networkPolicy).additionalEgressConfigLocal }}
    
    {{ toYaml . | indent 2 }}
    {{- end }}
    
    {{- with (.Values.networkPolicy).additionalEgressConfigGlobal }}
    
    {{ toYaml . | indent 2 }}
    {{- end }}
    
    {{- end }}