68 lines
1.6 KiB
YAML
68 lines
1.6 KiB
YAML
|
{{- if .Values.podSecurityPolicy.enabled }}
|
||
|
---
|
||
|
apiVersion: policy/v1beta1
|
||
|
kind: PodSecurityPolicy
|
||
|
metadata:
|
||
|
annotations:
|
||
|
seccomp.security.alpha.kubernetes.io/allowedProfileNames: runtime/default
|
||
|
seccomp.security.alpha.kubernetes.io/defaultProfileName: runtime/default
|
||
|
name: {{ template "traefik.fullname" . }}
|
||
|
labels:
|
||
|
app.kubernetes.io/name: {{ template "traefik.name" . }}
|
||
|
helm.sh/chart: {{ template "traefik.chart" . }}
|
||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||
|
spec:
|
||
|
privileged: false
|
||
|
allowPrivilegeEscalation: false
|
||
|
requiredDropCapabilities:
|
||
|
- ALL
|
||
|
{{- if not .Values.securityContext.runAsNonRoot }}
|
||
|
allowedCapabilities:
|
||
|
- NET_BIND_SERVICE
|
||
|
{{- end }}
|
||
|
hostNetwork: {{ .Values.hostNetwork }}
|
||
|
hostIPC: false
|
||
|
hostPID: false
|
||
|
fsGroup:
|
||
|
{{- if .Values.securityContext.runAsNonRoot }}
|
||
|
ranges:
|
||
|
- max: 65535
|
||
|
min: 1
|
||
|
rule: MustRunAs
|
||
|
{{- else }}
|
||
|
rule: RunAsAny
|
||
|
{{- end }}
|
||
|
{{- if .Values.hostNetwork }}
|
||
|
hostPorts:
|
||
|
- max: 65535
|
||
|
min: 1
|
||
|
{{- end }}
|
||
|
readOnlyRootFilesystem: true
|
||
|
runAsUser:
|
||
|
{{- if .Values.securityContext.runAsNonRoot }}
|
||
|
rule: MustRunAsNonRoot
|
||
|
{{- else }}
|
||
|
rule: RunAsAny
|
||
|
{{- end }}
|
||
|
seLinux:
|
||
|
rule: RunAsAny
|
||
|
supplementalGroups:
|
||
|
{{- if .Values.securityContext.runAsNonRoot }}
|
||
|
ranges:
|
||
|
- max: 65535
|
||
|
min: 1
|
||
|
rule: MustRunAs
|
||
|
{{- else }}
|
||
|
rule: RunAsAny
|
||
|
{{- end }}
|
||
|
volumes:
|
||
|
- configMap
|
||
|
- downwardAPI
|
||
|
- secret
|
||
|
- emptyDir
|
||
|
- projected
|
||
|
{{- if .Values.persistence.enabled }}
|
||
|
- persistentVolumeClaim
|
||
|
{{- end -}}
|
||
|
{{- end -}}
|