239 lines
6.4 KiB
YAML
239 lines
6.4 KiB
YAML
{{- if and (.Values.networkPolicy.enabled) (eq .Values.networkPolicy.flavor "cilium") }}
|
|
---
|
|
apiVersion: cilium.io/v2
|
|
kind: CiliumNetworkPolicy
|
|
metadata:
|
|
name: {{ include "loki.name" . }}-namespace-only
|
|
namespace: {{ $.Release.Namespace }}
|
|
labels:
|
|
{{- include "loki.labels" . | nindent 4 }}
|
|
spec:
|
|
endpointSelector: {}
|
|
egress:
|
|
- toEndpoints:
|
|
- {}
|
|
ingress:
|
|
- fromEndpoints:
|
|
- {}
|
|
|
|
---
|
|
apiVersion: cilium.io/v2
|
|
kind: CiliumNetworkPolicy
|
|
metadata:
|
|
name: {{ include "loki.name" . }}-egress-dns
|
|
namespace: {{ $.Release.Namespace }}
|
|
labels:
|
|
{{- include "loki.labels" . | nindent 4 }}
|
|
spec:
|
|
endpointSelector:
|
|
matchLabels:
|
|
{{- include "loki.selectorLabels" . | nindent 6 }}
|
|
egress:
|
|
- toPorts:
|
|
- ports:
|
|
- port: dns
|
|
protocol: UDP
|
|
toEndpoints:
|
|
- namespaceSelector: {}
|
|
|
|
---
|
|
apiVersion: cilium.io/v2
|
|
kind: CiliumNetworkPolicy
|
|
metadata:
|
|
name: {{ include "loki.name" . }}-ingress
|
|
namespace: {{ $.Release.Namespace }}
|
|
labels:
|
|
{{- include "loki.labels" . | nindent 4 }}
|
|
spec:
|
|
endpointSelector:
|
|
matchExpressions:
|
|
- key: app.kubernetes.io/component
|
|
operator: In
|
|
values:
|
|
{{- if .Values.gateway.enabled }}
|
|
- gateway
|
|
{{- else }}
|
|
- read
|
|
- write
|
|
{{- end }}
|
|
matchLabels:
|
|
{{- include "loki.selectorLabels" . | nindent 6 }}
|
|
ingress:
|
|
- toPorts:
|
|
- ports:
|
|
- port: http
|
|
protocol: TCP
|
|
{{- if .Values.networkPolicy.ingress.namespaceSelector }}
|
|
fromEndpoints:
|
|
- matchLabels:
|
|
{{- toYaml .Values.networkPolicy.ingress.namespaceSelector | nindent 8 }}
|
|
{{- if .Values.networkPolicy.ingress.podSelector }}
|
|
{{- toYaml .Values.networkPolicy.ingress.podSelector | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
---
|
|
apiVersion: cilium.io/v2
|
|
kind: CiliumNetworkPolicy
|
|
metadata:
|
|
name: {{ include "loki.name" . }}-ingress-metrics
|
|
namespace: {{ $.Release.Namespace }}
|
|
labels:
|
|
{{- include "loki.labels" . | nindent 4 }}
|
|
spec:
|
|
endpointSelector:
|
|
matchLabels:
|
|
{{- include "loki.selectorLabels" . | nindent 6 }}
|
|
ingress:
|
|
- toPorts:
|
|
- ports:
|
|
- port: http-metrics
|
|
protocol: TCP
|
|
{{- if .Values.networkPolicy.metrics.cidrs }}
|
|
{{- range $cidr := .Values.networkPolicy.metrics.cidrs }}
|
|
toCIDR:
|
|
- {{ $cidr }}
|
|
{{- end }}
|
|
{{- if .Values.networkPolicy.metrics.namespaceSelector }}
|
|
fromEndpoints:
|
|
- matchLabels:
|
|
{{- toYaml .Values.networkPolicy.metrics.namespaceSelector | nindent 8 }}
|
|
{{- if .Values.networkPolicy.metrics.podSelector }}
|
|
{{- toYaml .Values.networkPolicy.metrics.podSelector | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
---
|
|
apiVersion: cilium.io/v2
|
|
kind: CiliumNetworkPolicy
|
|
metadata:
|
|
name: {{ include "loki.name" . }}-egress-alertmanager
|
|
namespace: {{ $.Release.Namespace }}
|
|
labels:
|
|
{{- include "loki.labels" . | nindent 4 }}
|
|
spec:
|
|
endpointSelector:
|
|
matchLabels:
|
|
{{- include "loki.backendSelectorLabels" . | nindent 6 }}
|
|
egress:
|
|
- toPorts:
|
|
- ports:
|
|
- port: "{{ .Values.networkPolicy.alertmanager.port }}"
|
|
protocol: TCP
|
|
{{- if .Values.networkPolicy.alertmanager.namespaceSelector }}
|
|
toEndpoints:
|
|
- matchLabels:
|
|
{{- toYaml .Values.networkPolicy.alertmanager.namespaceSelector | nindent 8 }}
|
|
{{- if .Values.networkPolicy.alertmanager.podSelector }}
|
|
{{- toYaml .Values.networkPolicy.alertmanager.podSelector | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.networkPolicy.externalStorage.ports }}
|
|
---
|
|
apiVersion: cilium.io/v2
|
|
kind: CiliumNetworkPolicy
|
|
metadata:
|
|
name: {{ include "loki.name" . }}-egress-external-storage
|
|
namespace: {{ $.Release.Namespace }}
|
|
labels:
|
|
{{- include "loki.labels" . | nindent 4 }}
|
|
spec:
|
|
endpointSelector:
|
|
matchLabels:
|
|
{{- include "loki.selectorLabels" . | nindent 6 }}
|
|
egress:
|
|
- toPorts:
|
|
- ports:
|
|
{{- range $port := .Values.networkPolicy.externalStorage.ports }}
|
|
- port: "{{ $port }}"
|
|
protocol: TCP
|
|
{{- end }}
|
|
{{- if .Values.networkPolicy.externalStorage.cidrs }}
|
|
{{- range $cidr := .Values.networkPolicy.externalStorage.cidrs }}
|
|
toCIDR:
|
|
- {{ $cidr }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.networkPolicy.egressWorld.enabled }}
|
|
{{- $global := . }}
|
|
{{- $componentsList := list "read" "write" "backend" }}
|
|
{{- if .Values.tableManager.enabled }}
|
|
{{- $componentsList = append $componentsList "table-manager" }}
|
|
{{- end }}
|
|
{{- range $component := $componentsList }}
|
|
{{- with $global }}
|
|
---
|
|
apiVersion: "cilium.io/v2"
|
|
kind: CiliumNetworkPolicy
|
|
metadata:
|
|
name: {{ include "loki.name" . }}-{{ $component }}-world-egress
|
|
namespace: {{ .Release.Namespace }}
|
|
spec:
|
|
endpointSelector:
|
|
matchLabels:
|
|
{{- if eq $component "read" }}
|
|
{{- include "loki.readSelectorLabels" . | nindent 6 }}
|
|
{{- else if eq $component "write" }}
|
|
{{- include "loki.writeSelectorLabels" . | nindent 6 }}
|
|
{{- else if eq $component "table-manager" }}
|
|
{{- include "loki.tableManagerSelectorLabels" . | nindent 6 }}
|
|
{{- else }}
|
|
{{- include "loki.backendSelectorLabels" . | nindent 6 }}
|
|
{{- end }}
|
|
egress:
|
|
- toEntities:
|
|
- world
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if .Values.networkPolicy.egressKubeApiserver.enabled }}
|
|
---
|
|
apiVersion: "cilium.io/v2"
|
|
kind: CiliumNetworkPolicy
|
|
metadata:
|
|
name: {{ include "loki.name" . }}-backend-kubeapiserver-egress
|
|
namespace: {{ .Release.Namespace }}
|
|
spec:
|
|
endpointSelector:
|
|
matchLabels:
|
|
{{- include "loki.backendSelectorLabels" . | nindent 6 }}
|
|
egress:
|
|
- toEntities:
|
|
- kube-apiserver
|
|
{{- end }}
|
|
|
|
{{- end }}
|
|
|
|
{{- if and .Values.networkPolicy.discovery.port (eq .Values.networkPolicy.flavor "cilium") }}
|
|
---
|
|
apiVersion: cilium.io/v2
|
|
kind: CiliumNetworkPolicy
|
|
metadata:
|
|
name: {{ include "loki.name" . }}-egress-discovery
|
|
namespace: {{ $.Release.Namespace }}
|
|
labels:
|
|
{{- include "loki.labels" . | nindent 4 }}
|
|
spec:
|
|
endpointSelector:
|
|
matchLabels:
|
|
{{- include "loki.selectorLabels" . | nindent 6 }}
|
|
egress:
|
|
- toPorts:
|
|
- ports:
|
|
- port: "{{ .Values.networkPolicy.discovery.port }}"
|
|
protocol: TCP
|
|
{{- if .Values.networkPolicy.discovery.namespaceSelector }}
|
|
toEndpoints:
|
|
- matchLabels:
|
|
{{- toYaml .Values.networkPolicy.discovery.namespaceSelector | nindent 8 }}
|
|
{{- if .Values.networkPolicy.discovery.podSelector }}
|
|
{{- toYaml .Values.networkPolicy.discovery.podSelector | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|