1# Default values for fluent-operator.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
5# -- Container runtime used by your Kubernetes cluster. Supported values: containerd, crio, docker
6containerRuntime: containerd
7# -- Deploy default Fluent Bit pipeline to collect Kubernetes logs. See https://github.com/fluent/fluent-operator/tree/master/manifests/logging-stack
9# -- Fluent Operator configuration
12 # -- Fluent Operator image registry
14 # -- Fluent Operator image repository
15 repository: chainguard-private/fluent-operator-fips
16 # -- Fluent Operator image tag (immutable tags are recommended). Overrides the image tag whose default is the chart appVersion
17 # @default -- Chart appVersion
18 tag: latest@sha256:ef1a6af37ab83d61bc3283deb5858ef261ed2e68d19e40a6c9b302453cb02354
19 # -- Enable Fluent Operator deployment. Set to false to disable creation of ClusterRole, ClusterRoleBinding, Deployment, and ServiceAccount
21 # -- Node selector for Fluent Operator pods
22 # Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector
24 # -- Affinity for Fluent Operator pods
25 # Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
27 # -- Tolerations for Fluent Operator pods
28 # Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
30 # -- Priority class name for Fluent Operator pods
31 # Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass
33 # -- Pod security context for Fluent Operator
34 # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
43 # -- Specifies whether to create the ClusterRole and ClusterRoleBinding
49 # -- ClusterRoleBinding name
51 # -- Additional RBAC rules for Fluent Operator ClusterRole. Operator cannot give permissions it does not have
53 # -- Container security context for Fluent Operator container
54 # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
59 allowPrivilegeEscalation: false
60 readOnlyRootFilesystem: true
66 # -- Liveness probe for Fluent Operator
67 # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
72 initialDelaySeconds: 15
76 # -- Readiness probe for Fluent Operator
81 initialDelaySeconds: 5
85 # -- Fluent Operator resource requests and limits
93 # -- Annotations to add to Fluent Operator pods
95 # -- Image pull secrets for Fluent Operator
96 # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
98 # - name: "image-pull-secret"
99 # -- Labels to add to Fluent Operator pods
101 # myExampleLabel: someValue
102 # -- Disable specific component controllers. Value can be "fluent-bit" or "fluentd" to disable that controller
103 disableComponentControllers: ""
104 # -- Extra arguments for the Fluent Operator controller
106 # - --watch-namespaces=logging
109 # -- Enable Fluent Operator service
113 # -- Service port name
117 # -- Annotations for Fluent Operator service
119 # -- Labels for Fluent Operator service
122 # -- Enable Prometheus ServiceMonitor for Fluent Operator
130 # -- Use HTTPS for scraping
132 # -- TLS configuration for ServiceMonitor
134 # -- Relabeling configs for ServiceMonitor
136 # -- Metric relabeling configs for ServiceMonitor
137 metricRelabelings: []
139 # -- ServiceAccount name for Fluent Operator
140 name: fluent-operator
141# -- Fluent Bit configuration
143 # -- Enable Fluent Bit deployment
145 # -- Override the namespace for FluentBit resources; defaults to .Release.Namespace
146 namespaceOverride: ""
148 # -- Allow adding custom annotations to the FluentBit resource's metadata
151 # -- Enable Prometheus ServiceMonitor for Fluent Bit
156 path: /api/v2/metrics/prometheus
159 # -- Use HTTPS for scraping
161 # -- TLS configuration for ServiceMonitor
163 # -- Relabeling configs for ServiceMonitor
165 # -- Metric relabeling configs for ServiceMonitor
166 metricRelabelings: []
168 # -- Enable liveness probe
173 # -- Initial delay before liveness probe starts
174 initialDelaySeconds: 10
175 # -- Period between liveness probes
177 # -- Timeout for liveness probe
179 # -- Success threshold for liveness probe
181 # -- Failure threshold for liveness probe
184 # -- Fluent Bit image registry
186 # -- Fluent Bit image repository
187 repository: chainguard-private/fluent-bit-fips
188 # -- Fluent Bit image tag
189 # renovate: datasource=docker depName=ghcr.io/fluent/fluent-operator/fluent-bit
190 tag: latest@sha256:8da42352973a4dd866146f8ce9acb17da266152f0d4c6a152f9f7f776b2f9736
191 # -- Fluent Bit resource requests and limits. You can adjust it based on the log volume.
192 # If you do want to specify resources, adjust them as necessary
200 # -- Annotations to add to each Fluent Bit pod
201 # Request to Fluent Bit to exclude or not the logs generated by the Pod: `fluentbit.io/exclude: "true"`
202 # Prometheus can use this tag to automatically discover the Pod and collect monitoring data: `prometheus.io/scrape: "true"`
204 ## Request to Fluent Bit to exclude or not the logs generated by the Pod.
205 # fluentbit.io/exclude: "true"
206 ## Prometheus can use this tag to automatically discover the Pod and collect monitoring data
207 # prometheus.io/scrape: "true"
208 # -- Additional custom labels for Fluent Bit pods
210 # -- Additional custom annotations for Fluent Bit ServiceAccount
211 serviceAccountAnnotations: {}
212 # -- Specify storage for position db. You will use it if tail input is enabled.
213 # Ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#volumesource-v1-core
216 path: /var/lib/fluent-bit/
217 # -- Image pull secrets for Fluent Bit
218 # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
220 # - name: "image-pull-secret"
221 # -- Log level for Fluent Bit
223 # -- Secrets to mount in Fluent Bit pods
225 # -- Use host network for Fluent Bit DaemonSet
227 # -- Additional ports for Fluent Bit
229 # - containerPort: 514
232 # -- Pod security context for Fluent Bit pods
233 # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
234 podSecurityContext: {}
235 # -- Security context for Fluent Bit container
236 # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
238 # -- Additional volumes that can be mounted by containers belonging to the pod
239 additionalVolumes: []
240 # -- Additional RBAC rules which will be applied to the Fluent Bit ClusterRole
241 # NOTE: As fluent-bit is managed by the fluent-operator, fluent-bit can only be granted permissions the operator also has
242 # Ref: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#rolebinding-and-clusterrolebinding
244 # -- Additional volume mounts to mount into the container's filesystem
245 additionalVolumesMounts: []
246 # -- Affinity configuration for Fluent Bit pods
247 # Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
250 requiredDuringSchedulingIgnoredDuringExecution:
253 - key: node-role.kubernetes.io/edge
254 operator: DoesNotExist
255 # -- Init containers for Fluent Bit pods
256 # Ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
258 # -- Node selector for Fluent Bit pods
259 # Ref: https://kubernetes.io/docs/user-guide/node-selection/
261 # -- Node tolerations for Fluent Bit pods
262 # Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
265 # -- Priority class for Fluent Bit pods
266 # Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass
267 priorityClassName: ""
268 # -- Custom command for Fluent Bit containers
270 # -- Custom command line arguments for Fluent Bit containers
272 # -- Environment variables that can be passed to Fluent Bit pods
276 # -- Scheduler name for Fluent Bit pods
278 # Remove the above empty volumes and volumesMounts, and then set additionalVolumes and additionalVolumesMounts as below if you want to collect node exporter metrics
286 # Uncomment the code if you intend to create the volume for buffer storage in case the storage type "filesystem" is being used in the configuration of the fluentbit service.
289 # path: /tmp/fluent-bit-buffer
290 # additionalVolumesMounts:
291 # - mountPath: /host/sys
292 # mountPropagation: HostToContainer
295 # - mountPath: /host/proc
296 # mountPropagation: HostToContainer
299 # Uncomment the code if you intend to mount the volume for buffer storage in case the storage type "filesystem" is being used in the configuration of the fluentbit service.
300 # - mountPath: /host/fluent-bit-buffer
301 # mountPropagation: HostToContainer
304 # -- Namespace selector for Fluent Bit configuration
305 namespaceFluentBitCfgSelector: {}
306 # -- Configure the format of the config file to either classic or yaml. Default to classic when this value is not set
307 # configFileFormat: yaml
309 # Set a limit of memory that Tail plugin can use when appending data to the Engine.
310 # You can find more details here: https://docs.fluentbit.io/manual/pipeline/inputs/tail#config
311 # If the limit is reach, it will be paused; when the data is flushed it resumes.
312 # if the inbound traffic is less than 2.4Mbps, setting memBufLimit to 5MB is enough
313 # if the inbound traffic is less than 4.0Mbps, setting memBufLimit to 10MB is enough
314 # if the inbound traffic is less than 13.64Mbps, setting memBufLimit to 50MB is enough
317 # -- Enable tail input
319 # -- Refresh interval for tail input in seconds
320 refreshIntervalSeconds: 10
321 # -- Memory buffer limit for tail input
323 # -- Buffer max size for tail input
325 # -- Buffer chunk size for tail input
327 # -- Path to container logs
328 path: "/var/log/containers/*.log"
329 # -- Skip long lines in logs
331 # -- Skip empty lines in logs
333 # -- Read from head of log file
335 # -- Storage type for tail input buffering. Use "filesystem" for persistent buffering.
337 # -- Pause input when chunks overlimit
338 pauseOnChunksOverlimit: "off"
339 # -- Multiline parser for tail input
340 # multilineParser: "docker, cri"
342 # -- Enable systemd input
345 # -- Enable systemd filter
347 # -- Systemd unit filters
349 # -- Path to systemd journal
350 path: "/var/log/journal"
351 # -- Include kubelet logs from systemd
353 # -- Strip underscores from systemd field names
354 stripUnderscores: "off"
355 # -- Storage type for systemd input buffering. Use "filesystem" for persistent buffering.
357 # -- Pause input when chunks overlimit
358 pauseOnChunksOverlimit: "off"
359 # -- Node exporter metrics input configuration
360 nodeExporterMetrics: {}
361 # uncomment below nodeExporterMetrics section if you want to collect node exporter metrics
362 # nodeExporterMetrics:
364 # scrapeInterval: 15s
368 # -- Fluent Bit metrics input configuration
370 # uncomment below fluentBitMetrics section if you want to collect fluentBit metrics
372 # scrapeInterval: "2"
373 # scrapeOnStart: true
376 # Configure the output plugin parameter in FluentBit.
377 # You can set enable to true to output logs to the specified location.
379 # You can find more supported output plugins here: https://github.com/fluent/fluent-operator/tree/master/docs/plugins/fluentbit/output
381 # -- Enable Elasticsearch output
383 # -- Elasticsearch host
384 host: "<Elasticsearch url like elasticsearch-logging-data.kubesphere-logging-system.svc>"
385 # -- Elasticsearch port
387 # -- Logstash prefix for Elasticsearch indices
388 logstashPrefix: ks-logstash-log
389 # -- Buffer size for Elasticsearch output
391 # -- Trace errors in Elasticsearch output
393 # logstashPrefixKey: ks-logstash-log
394 # suppressTypeName: "On"
396 # index: "fluent-bit"
407 # logstashFormat: true
409 # writeOperation: upsert
414 # caFile: "<Absolute path to CA certificate file>"
415 # caPath: "<Absolute path to scan for certificate files>"
416 # crtFile: "<Absolute path to private Key file>"
417 # keyFile: "<Absolute path to private Key file>"
419 # vhost: "<Hostname to be used for TLS SNI extension>"
421 # -- Enable Kafka output
423 # -- Log level for Kafka output
425 # -- Kafka broker list
426 brokers: "<kafka broker list like xxx.xxx.xxx.xxx:9092,yyy.yyy.yyy.yyy:9092>"
429 # -- OpenTelemetry output configuration
431 # You can configure the opentelemetry-related configuration here
432 # -- OpenSearch output configuration
434 # You can configure the opensearch-related configuration here
436 # -- Enable stdout output
438 # -- Prometheus metrics exporter configuration
439 # Uncomment the following section to enable Prometheus metrics exporter.
440 prometheusMetricsExporter: {}
441 # prometheusMetricsExporter:
442 # match: "fb.metrics"
449 # Loki fluentbit ClusterOutput, to be encapsulated in fluentbit config
450 # See https://github.com/fluent/fluent-operator/blob/master/docs/plugins/fluentbit/output/loki.md
451 # See https://docs.fluentbit.io/manual/pipeline/outputs/loki
453 # -- Enable Loki output
455 # -- Retry limit for Loki output
456 retryLimit: "no_limits"
457 # -- Log level for Loki output
463 # Either, give http{User,Password},tenantID string values specifying them directly
464 # -- HTTP basic auth username for Loki
466 # -- HTTP basic auth password for Loki
468 # -- Tenant ID for Loki
470 # Or give {http{User,Password},tenantID} as reference to secrets that you have manually installed into your kubernetes cluster
490 # To use bearer token auth instead of http basic auth
491 # bearerToken: ey....
492 # or with existing secret
497 # name: bearerTokenSecret
499 # labels: [] # String list of <name>=<value>
500 # labelKeys: [] # String list of <key>
501 # removeKeys: [] # String list of <key>
502 # labelMapPath: '' # String, path to file, ex /here/it/is
504 # lineFormat: '' # String
505 # autoKubernetesLabels: on
506 # tenantIDKey: # String
507 # tls: {} # *plugins.TLS fluentbit docs
508 # -- Stackdriver output configuration
510 # You can configure the stackdriver configuration here
512 # Scheduler configuration for retry wait times (supported in Fluent Bit >= 1.8.7)
513 # -- Scheduler base for exponential backoff (seconds)
515 # -- Scheduler cap for maximum retry time (seconds)
517 # -- Storage configuration for Fluent Bit buffering
519 # Remove the above storage section and uncomment below section if you want to configure file-system as storage for buffer
521 # path: "/host/fluent-bit-buffer/"
522 # backlogMemLimit: "50MB"
524 # deleteIrrecoverableChunks: "on"
529 # Configure the default filters in FluentBit.
530 # The `filter` will filter and parse the collected log information and output the logs into a uniform format. You can choose whether to turn this on or not.
533 # -- Enable multiline filter
535 # -- Key content field for multiline filter
537 # -- Buffer for multiline filter
539 # -- Emitter memory buffer limit in MB
540 emitterMemBufLimit: 120
541 # -- Emitter type for multiline filter
543 # -- Flush interval in milliseconds
545 # -- Mode can be either "parser" or "partial_message"
547 # -- Name for the emitter input instance which re-emits the completed records at the beginning of the pipeline
548 # emitterName: my-emitter
549 # -- Multiline parsers to use
554 # use custom multiline parser need set .Values.parsers.javaMultiline.enable = true
557 # -- Enable Kubernetes metadata filter
559 # -- Include Kubernetes labels in logs
561 # -- Include Kubernetes annotations in logs
564 # This is customized lua containerd log format converter, you can refer here:
565 # https://github.com/fluent/fluent-operator/blob/master/charts/fluent-operator/templates/fluentbit-clusterfilter-containerd.yaml
566 # https://github.com/fluent/fluent-operator/blob/master/charts/fluent-operator/templates/fluentbit-containerd-config.yaml
567 # -- Enable containerd log format converter filter
570 # -- Enable systemd filter
573 # -- Enable KubeEdge integration for Fluent Bit
575 prometheusRemoteWrite:
576 # -- Host of a cloud-side Prometheus-compatible server that can receive Prometheus remote write data
577 host: "<cloud-prometheus-service-host>"
578 # -- Port of a cloud-side Prometheus-compatible server that can receive Prometheus remote write data
579 port: "<cloud-prometheus-service-port>"
580 # -- Removes the hostPath mounts for varlibcontainers, varlogs and systemd
581 disableLogVolumes: false
584 # -- Enable Java multiline parser for generic springboot multiline log format
586 # -- Using namespaceClusterFbCfg, deploy fluent-bit configmap and secret in this namespace.
587 # If it is not defined, it is in the namespace of the fluent-operator.
588 namespaceClusterFbCfg: ""
589# -- Fluentd configuration
591 # -- Enable Fluentd deployment
595 # -- Fluentd deployment mode. Valid values: "collector" (StatefulSet) or "agent" (DaemonSet)
600 # -- Fluentd image registry
602 # -- Fluentd image repository
603 repository: chainguard-private/fluent-operator-fluentd-fips
604 # renovate: datasource=docker depName=ghcr.io/fluent/fluent-operator/fluentd
605 # -- Fluentd image tag
606 tag: latest@sha256:7d07ff0da26711b44f16decf2e591021688602b6f16b13af0e108924f64ccfd4
607 # -- Number of Fluentd replicas
608 # Applicable when the mode is "collector", and will be ignored when the mode is "agent"
611 # -- Forward input port
613 # -- Retain metadata when forwarding in forward mode.
614 # Set to false for Fluentd compatibility with Fluent Bit v5.0.5+.
615 retainMetadataInForwardMode: ~
616 # -- Namespaces to watch for Fluentd resources
620 # -- Fluentd resource requests and limits
628 # -- Scheduler name for Fluentd pods
630 # -- Environment variables that can be passed to Fluentd pods
634 # -- Image pull secrets for Fluentd
635 # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
636 # -- Pod security context for Fluentd pod
637 # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
638 podSecurityContext: {}
639 # -- Container security context for Fluentd container
640 # Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
642 # -- Image pull secrets for Fluentd
644 # - name: "image-pull-secret"
645 # -- Log level for Fluentd
647 # -- Priority class name for Fluentd pods
648 priorityClassName: ""
649 # -- Extra configuration for Fluentd
651 # Configure the output plugin parameter in Fluentd.
652 # Fluentd is disabled by default, if you enable it make sure to also set up an output to use.
655 # -- Enable Elasticsearch output for Fluentd
657 # -- Elasticsearch host
658 host: elasticsearch-logging-data.kubesphere-logging-system.svc
659 # -- Elasticsearch port
661 # -- Logstash prefix for Elasticsearch indices
662 logstashPrefix: ks-logstash-log
664 # -- Enable buffer for Elasticsearch output
671 # -- Enable Kafka output for Fluentd
673 # -- Kafka broker list
674 brokers: "my-cluster-kafka-bootstrap.default.svc:9091,my-cluster-kafka-bootstrap.default.svc:9092,my-cluster-kafka-bootstrap.default.svc:9093"
676 topicKey: kubernetes_ns
678 # -- Enable buffer for Kafka output
684 # -- OpenSearch output configuration for Fluentd
686# -- Override name of the chart
688# -- Override full name of the chart
690# -- Override namespace where resources are deployed