blob: ce0052d48a1dfe76c4adf0e3e39a16a4566cd43d [file] [log] [blame]
Giorgi Lekveishvili8c99d622023-05-30 14:40:50 +04001{{- if and .Values.networkPolicy.enabled (or .Values.networkPolicy.metrics.enabled .Values.networkPolicy.ingressRules.primaryAccessOnlyFrom.enabled) }}
2apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }}
3kind: NetworkPolicy
4metadata:
5 name: {{ printf "%s-ingress" (include "postgresql.primary.fullname" .) }}
6 namespace: {{ .Release.Namespace | quote }}
7 labels: {{- include "common.labels.standard" . | nindent 4 }}
8 app.kubernetes.io/component: primary
9 {{- if .Values.commonLabels }}
10 {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
11 {{- end }}
12 {{- if .Values.commonAnnotations }}
13 annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
14 {{- end }}
15spec:
16 podSelector:
17 matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
18 app.kubernetes.io/component: primary
19 ingress:
20 {{- if and .Values.metrics.enabled .Values.networkPolicy.metrics.enabled (or .Values.networkPolicy.metrics.namespaceSelector .Values.networkPolicy.metrics.podSelector) }}
21 - from:
22 {{- if .Values.networkPolicy.metrics.namespaceSelector }}
23 - namespaceSelector:
24 matchLabels: {{- include "common.tplvalues.render" (dict "value" .Values.networkPolicy.metrics.namespaceSelector "context" $) | nindent 14 }}
25 {{- end }}
26 {{- if .Values.networkPolicy.metrics.podSelector }}
27 - podSelector:
28 matchLabels: {{- include "common.tplvalues.render" (dict "value" .Values.networkPolicy.metrics.podSelector "context" $) | nindent 14 }}
29 {{- end }}
30 ports:
31 - port: {{ .Values.metrics.containerPorts.metrics }}
32 {{- end }}
33 {{- if and .Values.networkPolicy.ingressRules.primaryAccessOnlyFrom.enabled (or .Values.networkPolicy.ingressRules.primaryAccessOnlyFrom.namespaceSelector .Values.networkPolicy.ingressRules.primaryAccessOnlyFrom.podSelector) }}
34 - from:
35 {{- if .Values.networkPolicy.ingressRules.primaryAccessOnlyFrom.namespaceSelector }}
36 - namespaceSelector:
37 matchLabels: {{- include "common.tplvalues.render" (dict "value" .Values.networkPolicy.ingressRules.primaryAccessOnlyFrom.namespaceSelector "context" $) | nindent 14 }}
38 {{- end }}
39 {{- if .Values.networkPolicy.ingressRules.primaryAccessOnlyFrom.podSelector }}
40 - podSelector:
41 matchLabels: {{- include "common.tplvalues.render" (dict "value" .Values.networkPolicy.ingressRules.primaryAccessOnlyFrom.podSelector "context" $) | nindent 14 }}
42 {{- end }}
43 ports:
44 - port: {{ .Values.containerPorts.postgresql }}
45 {{- end }}
46 {{- if and .Values.networkPolicy.ingressRules.primaryAccessOnlyFrom.enabled (eq .Values.architecture "replication") }}
47 - from:
48 - podSelector:
49 matchLabels: {{- include "common.labels.matchLabels" . | nindent 14 }}
50 app.kubernetes.io/component: read
51 ports:
52 - port: {{ .Values.containerPorts.postgresql }}
53 {{- end }}
54 {{- if .Values.networkPolicy.ingressRules.primaryAccessOnlyFrom.customRules }}
55 {{- include "common.tplvalues.render" (dict "value" .Values.networkPolicy.ingressRules.primaryAccessOnlyFrom.customRules "context" $) | nindent 4 }}
56 {{- end }}
57{{- end }}