{{- if not .Values.daemonset.enabled }} apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "beszel-agent.fullname" . }} labels: {{- include "beszel-agent.labels" . | nindent 4 }} spec: {{- if not .Values.autoscaling.enabled }} replicas: {{ .Values.replicaCount }} {{- end }} selector: matchLabels: {{- include "beszel-agent.selectorLabels" . | nindent 6 }} template: metadata: {{- with .Values.podAnnotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} labels: {{- include "beszel-agent.labels" . | nindent 8 }} {{- with .Values.podLabels }} {{- toYaml . | nindent 8 }} {{- end }} spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} serviceAccountName: {{ include "beszel-agent.serviceAccountName" . }} {{- with .Values.podSecurityContext }} securityContext: {{- toYaml . | nindent 8 }} {{- end }} {{- if .Values.hostNetwork }} hostNetwork: {{ .Values.hostNetwork }} {{- end }} {{- if .Values.gpuRuntime }} runtimeClassName: {{ .Values.gpuRuntime }} {{- end }} containers: - name: {{ .Chart.Name }} {{- with .Values.securityContext }} securityContext: {{- toYaml . | nindent 12 }} {{- end }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - name: agent containerPort: {{ .Values.service.port }} protocol: TCP {{- if .Values.service.hostPort }} hostPort: {{ .Values.service.hostPort }} {{- end }} env: - name: SYSTEM_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: KEY valueFrom: secretKeyRef: name: {{ include "beszel-agent.secretName" . }} key: {{ .Values.secret.sshKey }} {{- if or .Values.env.TOKEN .Values.secret.existingSecret }} - name: TOKEN valueFrom: secretKeyRef: name: {{ include "beszel-agent.secretName" . }} key: {{ .Values.secret.tokenKey }} {{- end }} {{- range $key, $value := .Values.env }} {{- if and (ne $key "KEY") (ne $key "TOKEN") (ne $key "SYSTEM_NAME") (ne $value "") }} - name: {{ $key }} value: {{ $value | quote }} {{- end }} {{- end }} {{- with .Values.livenessProbe }} livenessProbe: {{- toYaml . | nindent 12 }} {{- end }} {{- with .Values.readinessProbe }} readinessProbe: {{- toYaml . | nindent 12 }} {{- end }} {{- with .Values.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} {{- with .Values.volumeMounts }} volumeMounts: {{- toYaml . | nindent 12 }} {{- end }} {{- with .Values.volumes }} volumes: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} {{- end }}