{{- if and .Values.additionalLoggingSources.k3s.enabled (eq .Values.additionalLoggingSources.k3s.container_engine "systemd") }} apiVersion: apps/v1 kind: DaemonSet metadata: name: "{{ .Release.Name }}-k3s-journald-aggregator" namespace: "{{ .Release.Namespace }}" spec: selector: matchLabels: name: {{ .Release.Name }}-k3s-journald-aggregator template: metadata: annotations: checksum/config: {{ include (print $.Template.BasePath "/loggings/k3s/configmap.yaml") . | sha256sum }} name: "{{ .Release.Name }}-k3s-journald-aggregator" namespace: "{{ .Release.Namespace }}" labels: name: {{ .Release.Name }}-k3s-journald-aggregator spec: containers: - name: fluentbit image: "{{ template "logging-operator.fluentbitImage" . }}" {{- if .Values.global.seLinux.enabled }} securityContext: seLinuxOptions: type: rke_logreader_t {{- end }} volumeMounts: - mountPath: /fluent-bit/etc/ name: config - mountPath: {{ .Values.systemdLogPath | default "/var/log/journal" }} name: journal readOnly: true - mountPath: /etc/machine-id name: machine-id readOnly: true {{- with .Values.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} serviceAccountName: "{{ .Release.Name }}-k3s-journald-aggregator" volumes: - name: config configMap: name: "{{ .Release.Name }}-k3s" - name: journal hostPath: path: {{ .Values.systemdLogPath | default "/var/log/journal" }} - name: machine-id hostPath: path: /etc/machine-id --- apiVersion: v1 kind: ServiceAccount metadata: name: "{{ .Release.Name }}-k3s-journald-aggregator" namespace: "{{ .Release.Namespace }}" {{- if .Values.global.cattle.psp.enabled }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: "{{ .Release.Name }}-k3s-journald-aggregator" rules: - apiGroups: - policy resourceNames: - "{{ .Release.Name }}-k3s-journald-aggregator" resources: - podsecuritypolicies verbs: - use --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: "{{ .Release.Name }}-k3s-journald-aggregator" roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: "{{ .Release.Name }}-k3s-journald-aggregator" subjects: - kind: ServiceAccount name: "{{ .Release.Name }}-k3s-journald-aggregator" --- apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: "{{ .Release.Name }}-k3s-journald-aggregator" namespace: "{{ .Release.Namespace }}" spec: allowPrivilegeEscalation: false fsGroup: rule: RunAsAny readOnlyRootFilesystem: true runAsUser: rule: RunAsAny seLinux: rule: RunAsAny supplementalGroups: rule: RunAsAny volumes: - configMap - emptyDir - secret - hostPath {{- end }} {{- end }}