DirectorySecurity AdvisoriesPricing
Sign in
Directory
fluent-bit logoHELM

fluent-bit

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:

1
# Default values for fluent-bit.
2
3
# kind -- DaemonSet or Deployment
4
kind: DaemonSet
5
# replicaCount -- Only applicable if kind=Deployment
6
replicaCount: 1
7
image:
8
repository: cgr.dev/chainguard-private/fluent-bit-fips
9
# Overrides the image tag whose default is {{ .Chart.AppVersion }}
10
# Set to "-" to not use the default value
11
tag: latest
12
digest: sha256:1261f2b93640df22db544a2cfec69ee5b77190dc868d3a6959938198c369d9cd
13
pullPolicy: IfNotPresent
14
testFramework:
15
enabled: true
16
namespace:
17
image:
18
repository: cgr.dev/chainguard-private/busybox-fips
19
pullPolicy: Always
20
tag: latest
21
digest: sha256:7b6b883e283586870bdc24cc550a05a10dede9f225a43d068932747619b5f16f
22
imagePullSecrets: []
23
nameOverride: ""
24
fullnameOverride: ""
25
serviceAccount:
26
create: true
27
annotations: {}
28
name:
29
automountServiceAccountToken:
30
rbac:
31
create: true
32
nodeAccess: false
33
eventsAccess: false
34
# Configure podsecuritypolicy
35
# Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
36
# from Kubernetes 1.25, PSP is deprecated
37
# See: https://kubernetes.io/blog/2022/08/23/kubernetes-v1-25-release/#pod-security-changes
38
# We automatically disable PSP if Kubernetes version is 1.25 or higher
39
podSecurityPolicy:
40
create: false
41
annotations: {}
42
runAsUser:
43
rule: RunAsAny
44
seLinux:
45
# This policy assumes the nodes are using AppArmor rather than SELinux.
46
rule: RunAsAny
47
# OpenShift-specific configuration
48
openShift:
49
enabled: false
50
securityContextConstraints:
51
# Create SCC for Fluent-bit and allow use it
52
create: true
53
name: ""
54
annotations: {}
55
runAsUser:
56
type: RunAsAny
57
seLinuxContext:
58
type: MustRunAs
59
# Use existing SCC in cluster, rather then create new one
60
existingName: ""
61
podSecurityContext: {}
62
# fsGroup: 2000
63
64
hostNetwork: false
65
dnsPolicy: ClusterFirst
66
dnsConfig: {}
67
# nameservers:
68
# - 1.2.3.4
69
# searches:
70
# - ns1.svc.cluster-domain.example
71
# - my.dns.search.suffix
72
# options:
73
# - name: ndots
74
# value: "2"
75
# - name: edns0
76
77
hostAliases: []
78
# - ip: "1.2.3.4"
79
# hostnames:
80
# - "foo.local"
81
# - "bar.local"
82
83
securityContext: {}
84
# capabilities:
85
# drop:
86
# - ALL
87
# readOnlyRootFilesystem: true
88
# runAsNonRoot: true
89
# runAsUser: 1000
90
91
service:
92
type: ClusterIP
93
port: 2020
94
internalTrafficPolicy:
95
loadBalancerClass:
96
loadBalancerSourceRanges: []
97
loadBalancerIP:
98
labels: {}
99
# nodePort: 30020
100
# clusterIP: 172.16.10.1
101
annotations: {}
102
# prometheus.io/path: "/api/v2/metrics/prometheus"
103
# prometheus.io/port: "2020"
104
# prometheus.io/scrape: "true"
105
externalIPs: []
106
# externalIPs:
107
# - 2.2.2.2
108
serviceMonitor:
109
enabled: false
110
# namespace: monitoring
111
# interval: 10s
112
# scrapeTimeout: 10s
113
# selector:
114
# prometheus: my-prometheus
115
# ## metric relabel configs to apply to samples before ingestion.
116
# ##
117
# metricRelabelings:
118
# - sourceLabels: [__meta_kubernetes_service_label_cluster]
119
# targetLabel: cluster
120
# regex: (.*)
121
# replacement: ${1}
122
# action: replace
123
# ## relabel configs to apply to samples after ingestion.
124
# ##
125
# relabelings:
126
# - sourceLabels: [__meta_kubernetes_pod_node_name]
127
# separator: ;
128
# regex: ^(.*)$
129
# targetLabel: nodename
130
# replacement: $1
131
# action: replace
132
# scheme: ""
133
# tlsConfig: {}
134
135
## Bear in mind if you want to collect metrics from a different port
136
## you will need to configure the new ports on the extraPorts property.
137
additionalEndpoints: []
138
# - port: metrics
139
# path: /metrics
140
# interval: 10s
141
# scrapeTimeout: 10s
142
# scheme: ""
143
# tlsConfig: {}
144
# # metric relabel configs to apply to samples before ingestion.
145
# #
146
# metricRelabelings:
147
# - sourceLabels: [__meta_kubernetes_service_label_cluster]
148
# targetLabel: cluster
149
# regex: (.*)
150
# replacement: ${1}
151
# action: replace
152
# # relabel configs to apply to samples after ingestion.
153
# #
154
# relabelings:
155
# - sourceLabels: [__meta_kubernetes_pod_node_name]
156
# separator: ;
157
# regex: ^(.*)$
158
# targetLabel: nodename
159
# replacement: $1
160
# action: replace
161
prometheusRule:
162
enabled: false
163
# namespace: ""
164
# additionalLabels: {}
165
# rules:
166
# - alert: NoOutputBytesProcessed
167
# expr: rate(fluentbit_output_proc_bytes_total[5m]) == 0
168
# annotations:
169
# message: |
170
# Fluent Bit instance {{ $labels.instance }}'s output plugin {{ $labels.name }} has not processed any
171
# bytes for at least 15 minutes.
172
# summary: No Output Bytes Processed
173
# for: 15m
174
# labels:
175
# severity: critical
176
177
dashboards:
178
enabled: false
179
labelKey: grafana_dashboard
180
labelValue: 1
181
annotations: {}
182
namespace: ""
183
deterministicUid: false
184
lifecycle: {}
185
# preStop:
186
# exec:
187
# command: ["/bin/sh", "-c", "sleep 20"]
188
189
livenessProbe:
190
httpGet:
191
path: /
192
port: http
193
readinessProbe:
194
httpGet:
195
path: /api/v2/health
196
port: http
197
resources: {}
198
# limits:
199
# cpu: 100m
200
# memory: 128Mi
201
# requests:
202
# cpu: 100m
203
# memory: 128Mi
204
205
## only available if kind is Deployment
206
ingress:
207
enabled: false
208
ingressClassName: ""
209
annotations: {}
210
# kubernetes.io/ingress.class: nginx
211
# kubernetes.io/tls-acme: "true"
212
hosts: []
213
# - host: fluent-bit.example.tld
214
extraHosts: []
215
# - host: fluent-bit-extra.example.tld
216
## specify extraPort number
217
# port: 5170
218
tls: []
219
# - secretName: fluent-bit-example-tld
220
# hosts:
221
# - fluent-bit.example.tld
222
## only available if kind is Deployment
223
autoscaling:
224
vpa:
225
enabled: false
226
annotations: {}
227
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
228
controlledResources: []
229
# Values that the vertical pod autoscaler can control. Allowed values are RequestsAndLimits and RequestsOnly. Default is RequestsAndLimits.
230
controlledValues:
231
# Define the max allowed resources for the pod
232
maxAllowed: {}
233
# cpu: 200m
234
# memory: 100Mi
235
# Define the min allowed resources for the pod
236
minAllowed: {}
237
# cpu: 200m
238
# memory: 100Mi
239
240
# Name of the VPA recommender that will provide recommendations for vertical scaling.
241
recommender: default
242
updatePolicy:
243
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
244
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
245
updateMode: Auto
246
enabled: false
247
minReplicas: 1
248
maxReplicas: 3
249
targetCPUUtilizationPercentage: 75
250
# targetMemoryUtilizationPercentage: 75
251
## see https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics
252
customRules: []
253
# - type: Pods
254
# pods:
255
# metric:
256
# name: packets-per-second
257
# target:
258
# type: AverageValue
259
# averageValue: 1k
260
## see https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior
261
behavior: {}
262
# scaleDown:
263
# policies:
264
# - type: Pods
265
# value: 4
266
# periodSeconds: 60
267
# - type: Percent
268
# value: 10
269
# periodSeconds: 60
270
271
## only available if kind is Deployment
272
podDisruptionBudget:
273
enabled: false
274
annotations: {}
275
maxUnavailable: "30%"
276
nodeSelector: {}
277
tolerations: []
278
affinity: {}
279
labels: {}
280
annotations: {}
281
podAnnotations: {}
282
podLabels: {}
283
## How long (in seconds) a pods needs to be stable before progressing the deployment
284
##
285
minReadySeconds:
286
## How long (in seconds) a pod may take to exit (useful with lifecycle hooks to ensure lb deregistration is done)
287
##
288
terminationGracePeriodSeconds:
289
priorityClassName: ""
290
env: []
291
# - name: FOO
292
# value: "bar"
293
294
# The envWithTpl array below has the same usage as "env", but is using the tpl function to support templatable string.
295
# This can be useful when you want to pass dynamic values to the Chart using the helm argument "--set <variable>=<value>"
296
# https://helm.sh/docs/howto/charts_tips_and_tricks/#using-the-tpl-function
297
envWithTpl: []
298
# - name: FOO_2
299
# value: "{{ .Values.foo2 }}"
300
#
301
# foo2: bar2
302
303
envFrom: []
304
# This supports either a structured array or a templatable string
305
extraContainers: []
306
# Array mode
307
# extraContainers:
308
# - name: do-something
309
# image: busybox
310
# command: ['do', 'something']
311
312
# String mode
313
# extraContainers: |-
314
# - name: do-something
315
# image: bitnami/kubectl:{{ .Capabilities.KubeVersion.Major }}.{{ .Capabilities.KubeVersion.Minor }}
316
# command: ['kubectl', 'version']
317
flush: 1
318
metricsPort: 2020
319
extraPorts: []
320
# - port: 5170
321
# containerPort: 5170
322
# protocol: TCP
323
# name: tcp
324
# nodePort: 30517
325
326
extraVolumes: []
327
extraVolumeMounts: []
328
updateStrategy: {}
329
# type: RollingUpdate
330
# rollingUpdate:
331
# maxUnavailable: 1
332
333
# Make use of a pre-defined configmap instead of the one templated here
334
existingConfigMap: ""
335
networkPolicy:
336
enabled: false
337
# ingress:
338
# from: []
339
340
# See Lua script configuration example in README.md
341
luaScripts: {}
342
## https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/classic-mode/configuration-file
343
config:
344
service: |
345
[SERVICE]
346
Daemon Off
347
Flush {{ .Values.flush }}
348
Log_Level {{ .Values.logLevel }}
349
Parsers_File /fluent-bit/etc/parsers.conf
350
Parsers_File /fluent-bit/etc/conf/custom_parsers.conf
351
HTTP_Server On
352
HTTP_Listen 0.0.0.0
353
HTTP_Port {{ .Values.metricsPort }}
354
Health_Check On
355
## https://docs.fluentbit.io/manual/pipeline/inputs
356
inputs: |
357
[INPUT]
358
Name tail
359
Path /var/log/containers/*.log
360
multiline.parser docker, cri
361
Tag kube.*
362
Mem_Buf_Limit 5MB
363
Skip_Long_Lines On
364
365
[INPUT]
366
Name systemd
367
Tag host.*
368
Systemd_Filter _SYSTEMD_UNIT=kubelet.service
369
Read_From_Tail On
370
## https://docs.fluentbit.io/manual/pipeline/filters
371
filters: |
372
[FILTER]
373
Name kubernetes
374
Match kube.*
375
Merge_Log On
376
Keep_Log Off
377
K8S-Logging.Parser On
378
K8S-Logging.Exclude On
379
## https://docs.fluentbit.io/manual/pipeline/outputs
380
outputs: |
381
[OUTPUT]
382
Name es
383
Match kube.*
384
Host elasticsearch-master
385
Logstash_Format On
386
Retry_Limit False
387
388
[OUTPUT]
389
Name es
390
Match host.*
391
Host elasticsearch-master
392
Logstash_Format On
393
Logstash_Prefix node
394
Retry_Limit False
395
## https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/classic-mode/upstream-servers
396
## This configuration is deprecated, please use `extraFiles` instead.
397
upstream: {}
398
## https://docs.fluentbit.io/manual/pipeline/parsers
399
customParsers: |
400
[PARSER]
401
Name docker_no_time
402
Format json
403
Time_Keep Off
404
Time_Key time
405
Time_Format %Y-%m-%dT%H:%M:%S.%L
406
# This allows adding more files with arbitrary filenames to /fluent-bit/etc/conf by providing key/value pairs.
407
# The key becomes the filename, the value becomes the file content.
408
extraFiles: {}
409
# upstream.conf: |
410
# [UPSTREAM]
411
# upstream1
412
#
413
# [NODE]
414
# name node-1
415
# host 127.0.0.1
416
# port 43000
417
# example.conf: |
418
# [OUTPUT]
419
# Name example
420
# Match foo.*
421
# Host bar
422
423
# The config volume is mounted by default, either to the existingConfigMap value, or the default of "fluent-bit.fullname"
424
volumeMounts:
425
- name: config
426
mountPath: /fluent-bit/etc/conf
427
daemonSetVolumes:
428
- name: varlog
429
hostPath:
430
path: /var/log
431
- name: varlibdockercontainers
432
hostPath:
433
path: /var/lib/docker/containers
434
- name: etcmachineid
435
hostPath:
436
path: /etc/machine-id
437
type: File
438
daemonSetVolumeMounts:
439
- name: varlog
440
mountPath: /var/log
441
- name: varlibdockercontainers
442
mountPath: /var/lib/docker/containers
443
readOnly: true
444
- name: etcmachineid
445
mountPath: /etc/machine-id
446
readOnly: true
447
command:
448
- /fluent-bit/bin/fluent-bit
449
args:
450
- --workdir=/fluent-bit/etc
451
- --config=/fluent-bit/etc/conf/fluent-bit.conf
452
# This supports either a structured array or a templatable string
453
initContainers: []
454
# Array mode
455
# initContainers:
456
# - name: do-something
457
# image: bitnami/kubectl:1.22
458
# command: ['kubectl', 'version']
459
460
# String mode
461
# initContainers: |-
462
# - name: do-something
463
# image: bitnami/kubectl:{{ .Capabilities.KubeVersion.Major }}.{{ .Capabilities.KubeVersion.Minor }}
464
# command: ['kubectl', 'version']
465
logLevel: info
466
hotReload:
467
enabled: false
468
image:
469
repository: cgr.dev/chainguard-private/configmap-reload-fips
470
tag: latest
471
digest: sha256:8620932af4d9182df497d8f7b042a8d2a7bf2141efe138854164e59a8645ea37
472
pullPolicy: IfNotPresent
473
resources: {}
474
extraWatchVolumes: []
475
securityContext:
476
privileged: false
477
allowPrivilegeEscalation: false
478
readOnlyRootFilesystem: true
479
runAsNonRoot: true
480
runAsUser: 65532
481
runAsGroup: 65532
482
capabilities:
483
drop:
484
- ALL
485

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.