DirectorySecurity AdvisoriesPricing
Sign in
Directory
fluentd logoHELM

fluentd

Helm chart
Last changed
Request a free trial

Contact our team to test out this Helm chart and related images for free. Please also indicate any other images you would like to evaluate.

Overview
Chart versions
Default values
Chart metadata
Images

Tag:
Compare:

1
nameOverride: ""
2
fullnameOverride: ""
3
# DaemonSet, Deployment or StatefulSet
4
kind: "DaemonSet"
5
# azureblob, cloudwatch, elasticsearch7, elasticsearch8, gcs, graylog , kafka, kafka2, kinesis, opensearch
6
variant: elasticsearch7
7
# version of the variant to use.
8
variantVersion: "1.1"
9
# # Only applicable for Deployment or StatefulSet
10
# replicaCount: 1
11
12
image:
13
repository: cgr.dev/chainguard-private/fluentd-kubernetes-daemonset-fips
14
pullPolicy: "IfNotPresent"
15
tag: latest@sha256:f7661fd537981ca63447f33057c75f0eddc2b8ffa98548819b846015f0250339
16
## Optional array of imagePullSecrets containing private registry credentials
17
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
18
imagePullSecrets: []
19
serviceAccount:
20
create: true
21
annotations: {}
22
name: null
23
rbac:
24
create: true
25
# from Kubernetes 1.25, PSP is deprecated
26
# See: https://kubernetes.io/blog/2022/08/23/kubernetes-v1-25-release/#pod-security-changes
27
# We automatically disable PSP if Kubernetes version is 1.25 or higher
28
podSecurityPolicy:
29
enabled: true
30
annotations: {}
31
## Security Context policies for controller pods
32
## See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for
33
## notes on enabling and using sysctls
34
##
35
podSecurityContext: {}
36
# seLinuxOptions:
37
# type: "spc_t"
38
39
securityContext: {}
40
# capabilities:
41
# drop:
42
# - ALL
43
# readOnlyRootFilesystem: true
44
# runAsNonRoot: true
45
# runAsUser: 1000
46
47
# Configure the livecycle
48
# Ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
49
lifecycle: {}
50
# preStop:
51
# exec:
52
# command: ["/bin/sh", "-c", "sleep 20"]
53
54
# Configure the livenessProbe
55
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
56
livenessProbe:
57
httpGet:
58
path: /metrics
59
port: metrics
60
# initialDelaySeconds: 0
61
# periodSeconds: 10
62
# timeoutSeconds: 1
63
# successThreshold: 1
64
# failureThreshold: 3
65
# Configure the readinessProbe
66
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
67
readinessProbe:
68
httpGet:
69
path: /metrics
70
port: metrics
71
# initialDelaySeconds: 0
72
# periodSeconds: 10
73
# timeoutSeconds: 1
74
# successThreshold: 1
75
# failureThreshold: 3
76
resources: {}
77
# requests:
78
# cpu: 10m
79
# memory: 128Mi
80
# limits:
81
# memory: 128Mi
82
83
## only available if kind is Deployment
84
autoscaling:
85
enabled: false
86
minReplicas: 1
87
maxReplicas: 100
88
targetCPUUtilizationPercentage: 80
89
# targetMemoryUtilizationPercentage: 80
90
## see https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics
91
customRules: []
92
# - type: Pods
93
# pods:
94
# metric:
95
# name: packets-per-second
96
# target:
97
# type: AverageValue
98
# averageValue: 1k
99
## see https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior
100
# behavior:
101
# scaleDown:
102
# policies:
103
# - type: Pods
104
# value: 4
105
# periodSeconds: 60
106
# - type: Percent
107
# value: 10
108
# periodSeconds: 60
109
# priorityClassName: "system-node-critical"
110
nodeSelector: {}
111
## Node tolerations for server scheduling to nodes with taints
112
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
113
##
114
tolerations: []
115
# - key: null
116
# operator: Exists
117
# effect: "NoSchedule"
118
119
## Affinity and anti-affinity
120
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
121
##
122
affinity: {}
123
## Topology spread constraints, only applicable for Deployment or StatefulSet
124
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
125
##
126
topologySpreadConstraints: []
127
# - maxSkew: 1
128
# topologyKey: topology.kubernetes.io/zone
129
# whenUnsatisfiable: ScheduleAnyway
130
# labelSelector:
131
# matchLabels:
132
# app.kubernetes.io/name: fluentd
133
134
## Annotations to be added to fluentd DaemonSet/Deployment
135
##
136
annotations: {}
137
## Labels to be added to fluentd DaemonSet/Deployment
138
##
139
labels: {}
140
## Annotations to be added to fluentd pods. Supports tpl evaluation.
141
##
142
podAnnotations: {}
143
## Labels to be added to fluentd pods
144
##
145
podLabels: {}
146
## How long (in seconds) a pods needs to be stable before progressing the deployment
147
##
148
minReadySeconds:
149
## How long (in seconds) a pod may take to exit (useful with lifecycle hooks to ensure lb deregistration is done)
150
##
151
terminationGracePeriodSeconds:
152
## Deployment strategy / DaemonSet updateStrategy
153
##
154
updateStrategy: {}
155
# type: RollingUpdate
156
# rollingUpdate:
157
# maxUnavailable: 1
158
159
## Additional environment variables to set for fluentd pods
160
env: []
161
# - name: "FLUENTD_CONF"
162
# value: "../../../etc/fluent/fluent.conf"
163
# - name: FLUENT_ELASTICSEARCH_HOST
164
# value: "elasticsearch-master"
165
# - name: FLUENT_ELASTICSEARCH_PORT
166
# value: "9200"
167
168
envFrom: []
169
initContainers: []
170
## Name of the configMap containing a custom fluentd.conf configuration file to use instead of the default.
171
# mainConfigMapNameOverride: ""
172
173
## Name of the configMap containing files to be placed under /etc/fluent/config.d/
174
## NOTE: This will replace ALL default files in the aforementioned path!
175
# extraFilesConfigMapNameOverride: ""
176
mountVarLogDirectory: true
177
mountDockerContainersDirectory: true
178
volumes: []
179
volumeMounts: []
180
## Only available if kind is StatefulSet
181
## Fluentd persistence
182
##
183
persistence:
184
enabled: false
185
storageClass: ""
186
accessMode: ReadWriteOnce
187
size: 10Gi
188
## Fluentd service
189
##
190
service:
191
enabled: true
192
type: "ClusterIP"
193
annotations: {}
194
# loadBalancerIP:
195
# externalTrafficPolicy: Local
196
ports: []
197
# - name: "forwarder"
198
# protocol: TCP
199
# containerPort: 24224
200
## Prometheus Monitoring
201
##
202
metrics:
203
serviceMonitor:
204
enabled: false
205
additionalLabels:
206
release: prometheus-operator
207
namespace: ""
208
namespaceSelector: {}
209
## metric relabel configs to apply to samples before ingestion.
210
##
211
metricRelabelings: []
212
# - sourceLabels: [__name__]
213
# separator: ;
214
# regex: ^fluentd_output_status_buffer_(oldest|newest)_.+
215
# replacement: $1
216
# action: drop
217
## relabel configs to apply to samples after ingestion.
218
##
219
relabelings: []
220
# - sourceLabels: [__meta_kubernetes_pod_node_name]
221
# separator: ;
222
# regex: ^(.*)$
223
# targetLabel: nodename
224
# replacement: $1
225
# action: replace
226
## Additional serviceMonitor config
227
##
228
# jobLabel: fluentd
229
# scrapeInterval: 30s
230
# scrapeTimeout: 5s
231
# honorLabels: true
232
prometheusRule:
233
enabled: false
234
additionalLabels: {}
235
namespace: ""
236
rules: []
237
# - alert: FluentdDown
238
# expr: up{job="fluentd"} == 0
239
# for: 5m
240
# labels:
241
# context: fluentd
242
# severity: warning
243
# annotations:
244
# summary: "Fluentd Down"
245
# description: "{{ $labels.pod }} on {{ $labels.nodename }} is down"
246
# - alert: FluentdScrapeMissing
247
# expr: absent(up{job="fluentd"} == 1)
248
# for: 15m
249
# labels:
250
# context: fluentd
251
# severity: warning
252
# annotations:
253
# summary: "Fluentd Scrape Missing"
254
# description: "Fluentd instance has disappeared from Prometheus target discovery"
255
## Grafana Monitoring Dashboard
256
##
257
dashboards:
258
enabled: "true"
259
namespace: ""
260
labels:
261
grafana_dashboard: "\"1\""
262
## Fluentd list of plugins to install
263
##
264
plugins: []
265
# - fluent-plugin-out-http
266
267
## Add fluentd config files from K8s configMaps
268
##
269
configMapConfigs: []
270
# - fluentd-prometheus-conf
271
# - fluentd-systemd-conf
272
273
## Fluentd configurations:
274
##
275
fileConfigs:
276
01_sources.conf: |-
277
## logs from podman
278
<source>
279
@type tail
280
@id in_tail_container_logs
281
@label @KUBERNETES
282
path /var/log/containers/*.log
283
pos_file /var/log/fluentd-containers.log.pos
284
tag kubernetes.*
285
read_from_head true
286
<parse>
287
@type multi_format
288
<pattern>
289
format json
290
time_key time
291
time_type string
292
time_format "%Y-%m-%dT%H:%M:%S.%NZ"
293
keep_time_key false
294
</pattern>
295
<pattern>
296
format regexp
297
expression /^(?<time>.+) (?<stream>stdout|stderr)( (.))? (?<log>.*)$/
298
time_format '%Y-%m-%dT%H:%M:%S.%NZ'
299
keep_time_key false
300
</pattern>
301
</parse>
302
emit_unmatched_lines true
303
</source>
304
305
# expose metrics in prometheus format
306
<source>
307
@type prometheus
308
bind 0.0.0.0
309
port 24231
310
metrics_path /metrics
311
</source>
312
02_filters.conf: |-
313
<label @KUBERNETES>
314
<match kubernetes.var.log.containers.fluentd**>
315
@type relabel
316
@label @FLUENT_LOG
317
</match>
318
319
# <match kubernetes.var.log.containers.**_kube-system_**>
320
# @type null
321
# @id ignore_kube_system_logs
322
# </match>
323
324
<filter kubernetes.**>
325
@type kubernetes_metadata
326
@id filter_kube_metadata
327
skip_labels false
328
skip_container_metadata false
329
skip_namespace_metadata true
330
skip_master_url true
331
</filter>
332
333
<match **>
334
@type relabel
335
@label @DISPATCH
336
</match>
337
</label>
338
03_dispatch.conf: |-
339
<label @DISPATCH>
340
<filter **>
341
@type prometheus
342
<metric>
343
name fluentd_input_status_num_records_total
344
type counter
345
desc The total number of incoming records
346
<labels>
347
tag ${tag}
348
hostname ${hostname}
349
</labels>
350
</metric>
351
</filter>
352
353
<match **>
354
@type relabel
355
@label @OUTPUT
356
</match>
357
</label>
358
04_outputs.conf: |-
359
<label @OUTPUT>
360
<match **>
361
@type elasticsearch
362
host "elasticsearch-master"
363
port 9200
364
path ""
365
user elastic
366
password changeme
367
# Don't wait for elastic to start up.
368
verify_es_version_at_startup false
369
</match>
370
</label>
371
ingress:
372
enabled: false
373
annotations: {}
374
# kubernetes.io/ingress.class: nginx
375
# kubernetes.io/tls-acme: "true"
376
hosts:
377
# - host: fluentd.example.tld
378
- port: 9880
379
tls: []
380
# - secretName: fluentd-tls
381
# hosts:
382
# - fluentd.example.tld
383

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.