blob: e281b03b0543b2b4593a48fec8adb8ecedce7b42 [file] [log] [blame]
Giorgi Lekveishvili35982662024-04-05 13:05:40 +04001{{- if .Values.networkPolicy.enabled }}
2kind: NetworkPolicy
3apiVersion: {{ .Values.networkPolicy.apiVersion }}
4metadata:
5 name: "{{ .Release.Name }}-{{ .Values.controller.componentName }}"
6 namespace: {{ template "jenkins.namespace" . }}
7 labels:
gio20157e82026-07-22 13:10:48 +04008 {{ include "jenkins.labels" . | nindent 4 }}
Giorgi Lekveishvili35982662024-04-05 13:05:40 +04009spec:
10 podSelector:
11 matchLabels:
12 "app.kubernetes.io/component": "{{ .Values.controller.componentName }}"
13 "app.kubernetes.io/instance": "{{ .Release.Name }}"
14 ingress:
15 # Allow web access to the UI
16 - ports:
17 - port: {{ .Values.controller.targetPort }}
18 {{- if .Values.controller.agentListenerEnabled }}
19 # Allow inbound connections from agents
20 - from:
21 {{- if .Values.networkPolicy.internalAgents.allowed }}
22 - podSelector:
23 matchLabels:
24 "jenkins/{{ .Release.Name }}-{{ .Values.agent.componentName }}": "true"
25 {{- range $k,$v:= .Values.networkPolicy.internalAgents.podLabels }}
26 {{ $k }}: {{ $v }}
27 {{- end }}
28 {{- if .Values.networkPolicy.internalAgents.namespaceLabels }}
29 namespaceSelector:
30 matchLabels:
31 {{- range $k,$v:= .Values.networkPolicy.internalAgents.namespaceLabels }}
32 {{ $k }}: {{ $v }}
33 {{- end }}
34 {{- end }}
35 {{- end }}
36 {{- if or .Values.networkPolicy.externalAgents.ipCIDR .Values.networkPolicy.externalAgents.except }}
37 - ipBlock:
38 cidr: {{ required "ipCIDR is required if you wish to allow external agents to connect to Jenkins Controller." .Values.networkPolicy.externalAgents.ipCIDR }}
39 {{- if .Values.networkPolicy.externalAgents.except }}
40 except:
41 {{- range .Values.networkPolicy.externalAgents.except }}
42 - {{ . }}
43 {{- end }}
44 {{- end }}
45 {{- end }}
46 ports:
47 - port: {{ .Values.controller.agentListenerPort }}
48 {{- end }}
49{{- if .Values.agent.enabled }}
50---
51kind: NetworkPolicy
52apiVersion: {{ .Values.networkPolicy.apiVersion }}
53metadata:
54 name: "{{ .Release.Name }}-{{ .Values.agent.componentName }}"
55 namespace: {{ template "jenkins.namespace" . }}
56 labels:
gio20157e82026-07-22 13:10:48 +040057 {{ include "jenkins.labels" . | nindent 4 }}
Giorgi Lekveishvili35982662024-04-05 13:05:40 +040058spec:
59 podSelector:
60 matchLabels:
61 # DefaultDeny
62 "jenkins/{{ .Release.Name }}-{{ .Values.agent.componentName }}": "true"
63{{- end }}
64{{- end }}