{{- if .Values.forwarder.enabled }} apiVersion: apps/v1 kind: DaemonSet metadata: name: {{ include "fluentd.fullname" . }} labels: {{- include "fluentd.labels" . | nindent 4 }} app.kubernetes.io/component: forwarder spec: selector: matchLabels: {{- include "fluentd.matchLabels" . | nindent 6 }} app.kubernetes.io/component: forwarder updateStrategy: {{- toYaml .Values.forwarder.updateStrategy | nindent 4 }} template: metadata: labels: {{- include "fluentd.labels" . | nindent 8 }} app.kubernetes.io/component: forwarder annotations: checksum/config: {{ include (print $.Template.BasePath "/forwarder-configmap.yaml") . | sha256sum }} {{- if .Values.forwarder.podAnnotations }} {{- include "fluentd.tplValue" (dict "value" .Values.forwarder.podAnnotations "context" $) | nindent 8 }} {{- end }} spec: {{- include "fluentd.imagePullSecrets" . | nindent 6 }} serviceAccountName: {{ template "fluentd.serviceAccountName" . }} {{- if .Values.forwarder.affinity }} affinity: {{- include "fluentd.tplValue" (dict "value" .Values.forwarder.affinity "context" $) | nindent 8 }} {{- end }} {{- if .Values.forwarder.nodeSelector }} nodeSelector: {{- include "fluentd.tplValue" (dict "value" .Values.forwarder.nodeSelector "context" $) | nindent 8 }} {{- end }} {{- if .Values.forwarder.tolerations }} tolerations: {{- include "fluentd.tplValue" (dict "value" .Values.forwarder.tolerations "context" $) | nindent 8 }} {{- end }} {{- if .Values.forwarder.securityContext.enabled }} securityContext: runAsUser: {{ .Values.forwarder.securityContext.runAsUser }} fsGroup: {{ .Values.forwarder.securityContext.fsGroup }} {{- end }} containers: - name: fluentd image: {{ include "fluentd.image" . }} imagePullPolicy: {{ .Values.image.pullPolicy }} env: - name: FLUENTD_CONF value: {{ .Values.forwarder.configFile }} - name: FLUENTD_OPT value: {{ .Values.forwarder.extraArgs | quote }} - name: FLUENTD_DAEMON_USER value: {{ .Values.forwarder.daemonUser | quote }} - name: FLUEND_DAEMON_GROUP value: {{ .Values.forwarder.daemonGroup | quote }} {{- if .Values.forwarder.extraEnv }} {{- toYaml .Values.forwarder.extraEnv | nindent 12 }} {{- end }} ports: {{- if .Values.forwarder.containerPorts }} {{- toYaml .Values.forwarder.containerPorts | nindent 12 }} {{- end }} {{- if .Values.metrics.enabled }} - name: metrics containerPort: {{ .Values.metrics.service.port }} protocol: TCP {{- end }} {{- if .Values.forwarder.livenessProbe.enabled }} livenessProbe: httpGet: path: /fluentd.healthcheck?json=%7B%22ping%22%3A+%22pong%22%7D port: http initialDelaySeconds: {{ .Values.forwarder.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.forwarder.livenessProbe.periodSeconds }} timeoutSeconds: {{ .Values.forwarder.livenessProbe.timeoutSeconds }} successThreshold: {{ .Values.forwarder.livenessProbe.successThreshold }} failureThreshold: {{ .Values.forwarder.livenessProbe.failureThreshold }} {{- end }} {{- if .Values.forwarder.readinessProbe.enabled }} readinessProbe: httpGet: path: /fluentd.healthcheck?json=%7B%22ping%22%3A+%22pong%22%7D port: http initialDelaySeconds: {{ .Values.forwarder.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.forwarder.readinessProbe.periodSeconds }} timeoutSeconds: {{ .Values.forwarder.readinessProbe.timeoutSeconds }} successThreshold: {{ .Values.forwarder.readinessProbe.successThreshold }} failureThreshold: {{ .Values.forwarder.readinessProbe.failureThreshold }} {{- end }} {{- if .Values.forwarder.resources }} resources: {{- toYaml .Values.forwarder.resources | nindent 12 }} {{- end }} volumeMounts: - name: fluentd-config mountPath: /opt/bitnami/fluentd/conf - name: buffer mountPath: /opt/bitnami/fluentd/logs/buffers {{- if .Values.tls.enabled }} - name: certs mountPath: /opt/bitnami/fluentd/certs {{- end }} - name: varlog mountPath: /var/log - name: varlibdockercontainers mountPath: /var/lib/docker/containers readOnly: true volumes: {{- if .Values.tls.enabled }} - name: certs secret: secretName: {{ template "fluentd.tls.secretName" . }} items: - key: tls.crt path: tls.crt - key: tls.key path: tls.key {{- end }} - name: fluentd-config configMap: name: {{ template "fluentd.forwarder.configMap" . }} - name: buffer emptyDir: {} - name: varlog hostPath: path: /var/log - name: varlibdockercontainers hostPath: path: /var/lib/docker/containers {{- end }}