60 lines
2.2 KiB
YAML
60 lines
2.2 KiB
YAML
|
{{- if .Values.networkPolicy.enabled }}
|
||
|
kind: NetworkPolicy
|
||
|
apiVersion: {{ template "cockroachdb.networkPolicy.apiVersion" . }}
|
||
|
metadata:
|
||
|
name: {{ template "cockroachdb.serviceAccount.name" . }}
|
||
|
namespace: {{ .Release.Namespace | quote }}
|
||
|
labels:
|
||
|
helm.sh/chart: {{ template "cockroachdb.chart" . }}
|
||
|
app.kubernetes.io/name: {{ template "cockroachdb.name" . }}
|
||
|
app.kubernetes.io/instance: {{ .Release.Name | quote }}
|
||
|
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
|
||
|
{{- with .Values.labels }}
|
||
|
{{- toYaml . | nindent 4 }}
|
||
|
{{- end }}
|
||
|
spec:
|
||
|
podSelector:
|
||
|
matchLabels:
|
||
|
app.kubernetes.io/name: {{ template "cockroachdb.name" . }}
|
||
|
app.kubernetes.io/instance: {{ .Release.Name | quote }}
|
||
|
{{- with .Values.statefulset.labels }}
|
||
|
{{- toYaml . | nindent 6 }}
|
||
|
{{- end }}
|
||
|
ingress:
|
||
|
- ports:
|
||
|
- port: grpc
|
||
|
{{- with .Values.networkPolicy.ingress.grpc }}
|
||
|
from:
|
||
|
# Allow connections via custom rules.
|
||
|
{{- toYaml . | nindent 8 }}
|
||
|
# Allow client connection via pre-considered label.
|
||
|
- podSelector:
|
||
|
matchLabels:
|
||
|
{{ template "cockroachdb.fullname" . }}-client: "true"
|
||
|
# Allow other CockroachDBs to connect to form a cluster.
|
||
|
- podSelector:
|
||
|
matchLabels:
|
||
|
app.kubernetes.io/name: {{ template "cockroachdb.name" . }}
|
||
|
app.kubernetes.io/instance: {{ .Release.Name | quote }}
|
||
|
{{- with .Values.statefulset.labels }}
|
||
|
{{- toYaml . | nindent 14 }}
|
||
|
{{- end }}
|
||
|
{{- if gt (.Values.statefulset.replicas | int64) 1 }}
|
||
|
# Allow init Job to connect to bootstrap a cluster.
|
||
|
- podSelector:
|
||
|
matchLabels:
|
||
|
app.kubernetes.io/name: {{ template "cockroachdb.name" . }}
|
||
|
app.kubernetes.io/instance: {{ .Release.Name | quote }}
|
||
|
{{- with .Values.init.labels }}
|
||
|
{{- toYaml . | nindent 14 }}
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
# Allow connections to admin UI and for Prometheus.
|
||
|
- ports:
|
||
|
- port: http
|
||
|
{{- with .Values.networkPolicy.ingress.http }}
|
||
|
from: {{- toYaml . | nindent 8 }}
|
||
|
{{- end }}
|
||
|
{{- end }}
|