mirror of https://git.rancher.io/charts
118 lines
3.5 KiB
YAML
118 lines
3.5 KiB
YAML
|
apiVersion: apps/v1
|
||
|
kind: Deployment
|
||
|
metadata:
|
||
|
labels:
|
||
|
app: '{{ template "gatekeeper.name" . }}'
|
||
|
chart: '{{ template "gatekeeper.name" . }}'
|
||
|
control-plane: controller-manager
|
||
|
gatekeeper.sh/operation: webhook
|
||
|
gatekeeper.sh/system: "yes"
|
||
|
heritage: '{{ .Release.Service }}'
|
||
|
release: '{{ .Release.Name }}'
|
||
|
name: gatekeeper-controller-manager
|
||
|
namespace: '{{ .Release.Namespace }}'
|
||
|
spec:
|
||
|
replicas: {{ .Values.replicas }}
|
||
|
selector:
|
||
|
matchLabels:
|
||
|
app: '{{ template "gatekeeper.name" . }}'
|
||
|
chart: '{{ template "gatekeeper.name" . }}'
|
||
|
control-plane: controller-manager
|
||
|
gatekeeper.sh/operation: webhook
|
||
|
gatekeeper.sh/system: "yes"
|
||
|
heritage: '{{ .Release.Service }}'
|
||
|
release: '{{ .Release.Name }}'
|
||
|
template:
|
||
|
metadata:
|
||
|
annotations:
|
||
|
{{- toYaml .Values.podAnnotations | trim | nindent 8 }}
|
||
|
labels:
|
||
|
app: '{{ template "gatekeeper.name" . }}'
|
||
|
chart: '{{ template "gatekeeper.name" . }}'
|
||
|
control-plane: controller-manager
|
||
|
gatekeeper.sh/operation: webhook
|
||
|
gatekeeper.sh/system: "yes"
|
||
|
heritage: '{{ .Release.Service }}'
|
||
|
release: '{{ .Release.Name }}'
|
||
|
spec:
|
||
|
affinity:
|
||
|
podAntiAffinity:
|
||
|
preferredDuringSchedulingIgnoredDuringExecution:
|
||
|
- podAffinityTerm:
|
||
|
labelSelector:
|
||
|
matchExpressions:
|
||
|
- key: gatekeeper.sh/operation
|
||
|
operator: In
|
||
|
values:
|
||
|
- webhook
|
||
|
topologyKey: kubernetes.io/hostname
|
||
|
weight: 100
|
||
|
containers:
|
||
|
- args:
|
||
|
- --port=8443
|
||
|
- --logtostderr
|
||
|
- --emit-admission-events={{ .Values.emitAdmissionEvents }}
|
||
|
- --log-level={{ .Values.logLevel }}
|
||
|
- --exempt-namespace=gatekeeper-system
|
||
|
- --operation=webhook
|
||
|
command:
|
||
|
- /manager
|
||
|
env:
|
||
|
- name: POD_NAMESPACE
|
||
|
valueFrom:
|
||
|
fieldRef:
|
||
|
apiVersion: v1
|
||
|
fieldPath: metadata.namespace
|
||
|
- name: POD_NAME
|
||
|
valueFrom:
|
||
|
fieldRef:
|
||
|
fieldPath: metadata.name
|
||
|
image: '{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}'
|
||
|
imagePullPolicy: '{{ .Values.image.pullPolicy }}'
|
||
|
livenessProbe:
|
||
|
httpGet:
|
||
|
path: /healthz
|
||
|
port: 9090
|
||
|
name: manager
|
||
|
ports:
|
||
|
- containerPort: 8443
|
||
|
name: webhook-server
|
||
|
protocol: TCP
|
||
|
- containerPort: 8888
|
||
|
name: metrics
|
||
|
protocol: TCP
|
||
|
- containerPort: 9090
|
||
|
name: healthz
|
||
|
protocol: TCP
|
||
|
readinessProbe:
|
||
|
httpGet:
|
||
|
path: /readyz
|
||
|
port: 9090
|
||
|
resources:
|
||
|
{{ toYaml .Values.controllerManager.resources | indent 10 }}
|
||
|
securityContext:
|
||
|
allowPrivilegeEscalation: false
|
||
|
capabilities:
|
||
|
drop:
|
||
|
- all
|
||
|
runAsGroup: 999
|
||
|
runAsNonRoot: true
|
||
|
runAsUser: 1000
|
||
|
volumeMounts:
|
||
|
- mountPath: /certs
|
||
|
name: cert
|
||
|
readOnly: true
|
||
|
nodeSelector:
|
||
|
{{ toYaml .Values.nodeSelector | indent 8 }}
|
||
|
affinity:
|
||
|
{{ toYaml .Values.affinity | indent 8 }}
|
||
|
tolerations:
|
||
|
{{ toYaml .Values.tolerations | indent 8 }}
|
||
|
serviceAccountName: gatekeeper-admin
|
||
|
terminationGracePeriodSeconds: 60
|
||
|
volumes:
|
||
|
- name: cert
|
||
|
secret:
|
||
|
defaultMode: 420
|
||
|
secretName: gatekeeper-webhook-server-cert
|