| {{- /* |
| Copyright Broadcom, Inc. All Rights Reserved. |
| SPDX-License-Identifier: APACHE-2.0 |
| */}} |
| |
| {{- if .Values.networkPolicy.enabled }} |
| kind: NetworkPolicy |
| apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} |
| metadata: |
| name: {{ template "common.names.fullname" . }} |
| namespace: {{ include "common.names.namespace" . | quote }} |
| labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} |
| {{- if .Values.commonAnnotations }} |
| annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} |
| {{- end }} |
| spec: |
| {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.podLabels .Values.commonLabels ) "context" . ) }} |
| podSelector: |
| matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} |
| policyTypes: |
| - Ingress |
| - Egress |
| egress: |
| {{- if .Values.networkPolicy.allowExternalEgress }} |
| - {} |
| {{- else }} |
| - ports: |
| # Allow dns resolution |
| - port: 53 |
| protocol: UDP |
| - port: 53 |
| protocol: TCP |
| {{- if .Values.networkPolicy.extraEgress }} |
| {{- include "common.tplvalues.render" ( dict "value" .Values.networkPolicy.extraEgress "context" $ ) | nindent 4 }} |
| {{- end }} |
| {{- end }} |
| ingress: |
| - ports: |
| - port: {{ .Values.containerPorts.http }} |
| {{- if .Values.containerPorts.https }} |
| - port: {{ .Values.containerPorts.https }} |
| {{- end }} |
| {{- if .Values.metrics.enabled }} |
| - port: {{ .Values.metrics.containerPorts.metrics }} |
| {{- end }} |
| {{- if not .Values.networkPolicy.allowExternal }} |
| from: |
| - podSelector: |
| matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }} |
| - podSelector: |
| matchLabels: |
| {{ template "common.names.fullname" . }}-client: "true" |
| {{- if .Values.networkPolicy.ingressNSMatchLabels }} |
| - namespaceSelector: |
| matchLabels: |
| {{- range $key, $value := .Values.networkPolicy.ingressNSMatchLabels }} |
| {{ $key | quote }}: {{ $value | quote }} |
| {{- end }} |
| {{- if .Values.networkPolicy.ingressNSPodMatchLabels }} |
| podSelector: |
| matchLabels: |
| {{- range $key, $value := .Values.networkPolicy.ingressNSPodMatchLabels }} |
| {{ $key | quote }}: {{ $value | quote }} |
| {{- end }} |
| {{- end }} |
| {{- end }} |
| {{- end }} |
| {{- if .Values.networkPolicy.extraIngress }} |
| {{- include "common.tplvalues.render" ( dict "value" .Values.networkPolicy.extraIngress "context" $ ) | nindent 4 }} |
| {{- end }} |
| {{- end }} |