diff --git a/packs/fluentbit-4.0.7/README.md b/packs/fluentbit-4.0.7/README.md new file mode 100644 index 00000000..38d61c5d --- /dev/null +++ b/packs/fluentbit-4.0.7/README.md @@ -0,0 +1,58 @@ +# Fluent Bit + +Fluent Bit is a lightweight and high-performance log processor and forwarder. It allows you to collect data or logs from different sources, unify them, and send them to multiple destinations including Elasticsearch, OpenSearch, Kafka, Datadog, and more. + +### How it works + +Fluent Bit runs as a DaemonSet in the Kubernetes cluster and collects logs from each node. The logs are parsed, filtered, and enriched with Kubernetes metadata before being shipped to the specified backend. This configuration is fully customizable via Fluent Bit configuration blocks defined in the Helm `values.yaml`. + +The default configuration in this package collects logs from containers in `/var/log/containers/*.log` and system logs via `systemd`, filters them using Kubernetes metadata, and forwards them to an Elasticsearch endpoint. + +## Prerequisites + +Kubernetes 1.27 and higher are supported. + +The following cloud types are supported: +* all clouds + + + +## Parameters + +| **Parameter** | **Description** | **Type** | **Default Value** | **Required** | +|---|---|---|---|---| +| charts.fluent-bit.kind | Kubernetes controller to use (DaemonSet or Deployment) | string | DaemonSet | Yes | +| charts.fluent-bit.image.repository | Image repository for Fluent Bit | string | cr.fluentbit.io/fluent/fluent-bit | Yes | +| charts.fluent-bit.image.pullPolicy | Image pull policy | string | IfNotPresent | No | +| charts.fluent-bit.flush | Interval (in seconds) to flush the logs | integer | 1 | No | +| charts.fluent-bit.logLevel | Logging level for Fluent Bit | string | info | No | +| charts.fluent-bit.metricsPort | Port for exposing metrics | integer | 2020 | No | +| charts.fluent-bit.config.service | Main Fluent Bit service configuration | string | See values.yaml | Yes | +| charts.fluent-bit.config.inputs | Log input configuration | string | See values.yaml | Yes | +| charts.fluent-bit.config.filters | Filters applied to logs (e.g. Kubernetes metadata) | string | See values.yaml | Yes | +| charts.fluent-bit.config.outputs | Log output configuration | string | See values.yaml | Yes | +| charts.fluent-bit.config.customParsers | Custom parsers for log messages | string | See values.yaml | No | +| charts.fluent-bit.daemonSetVolumes | Volumes to mount for log access | list | /var/log, /var/lib/docker/containers, /etc/machine-id | Yes | +| charts.fluent-bit.daemonSetVolumeMounts | Mount points in Fluent Bit containers | list | See values.yaml | Yes | +| charts.fluent-bit.service.port | Port exposed by the Fluent Bit service | integer | 2020 | No | +| charts.fluent-bit.rbac.create | Whether to create RBAC resources | bool | true | No | +| charts.fluent-bit.podSecurityPolicy.create | Whether to create PodSecurityPolicy | bool | false | No | +| charts.fluent-bit.hotReload.enabled | Enable configmap hot reload with sidecar | bool | false | No | +| charts.fluent-bit.autoscaling.enabled | Enable horizontal pod autoscaler (only for Deployment) | bool | false | No | + +## References + +- [Fluent Bit Official Docs](https://docs.fluentbit.io/manual) +- [Fluent Bit Helm Chart](https://github.com/fluent/helm-charts/tree/main/charts/fluent-bit) +- [Spectro Cloud Docs - Fluent Bit](https://docs.spectrocloud.com/integrations/fluentbit) + +--- + +This package is maintained by **Spectro Cloud** and is provided as a community-supported integration. + +**Version:** 4.0.7 + +**Source:** community + +**Contributor:** Spectro Cloud + diff --git a/packs/fluentbit-4.0.7/charts/fluent-bit-0.53.0.tgz b/packs/fluentbit-4.0.7/charts/fluent-bit-0.53.0.tgz new file mode 100644 index 00000000..06ba38e1 Binary files /dev/null and b/packs/fluentbit-4.0.7/charts/fluent-bit-0.53.0.tgz differ diff --git a/packs/fluentbit-4.0.7/charts/fluent-bit-0.53.0.tgz.orig b/packs/fluentbit-4.0.7/charts/fluent-bit-0.53.0.tgz.orig new file mode 100644 index 00000000..91a0b1a2 Binary files /dev/null and b/packs/fluentbit-4.0.7/charts/fluent-bit-0.53.0.tgz.orig differ diff --git a/packs/fluentbit-4.0.7/charts/fluent-bit/.helmignore b/packs/fluentbit-4.0.7/charts/fluent-bit/.helmignore new file mode 100644 index 00000000..0e8a0eb3 --- /dev/null +++ b/packs/fluentbit-4.0.7/charts/fluent-bit/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/packs/fluentbit-4.0.7/charts/fluent-bit/Chart.yaml b/packs/fluentbit-4.0.7/charts/fluent-bit/Chart.yaml new file mode 100644 index 00000000..6d238a34 --- /dev/null +++ b/packs/fluentbit-4.0.7/charts/fluent-bit/Chart.yaml @@ -0,0 +1,27 @@ +annotations: + artifacthub.io/changes: | + - kind: changed + description: "Make securityContext of hot reload container configurable in fluent-bit chart" +apiVersion: v1 +appVersion: 4.0.7 +description: Fast and lightweight log processor and forwarder or Linux, OSX and BSD + family operating systems. +home: https://fluentbit.io/ +icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/fluentd/fluentbit/icon/fluentbit-icon-color.svg +keywords: +- logging +- fluent-bit +- fluentd +maintainers: +- email: eduardo@calyptia.com + name: edsiper +- email: naseem@transit.app + name: naseemkullah +- email: towmeykaw@gmail.com + name: Towmeykaw +- email: steve.hipwell@gmail.com + name: stevehipwell +name: fluent-bit +sources: +- https://github.com/fluent/fluent-bit/ +version: 0.53.0 diff --git a/packs/fluentbit-4.0.7/charts/fluent-bit/README.md b/packs/fluentbit-4.0.7/charts/fluent-bit/README.md new file mode 100644 index 00000000..2a4224c6 --- /dev/null +++ b/packs/fluentbit-4.0.7/charts/fluent-bit/README.md @@ -0,0 +1,57 @@ +# Fluent Bit Helm chart + +[Fluent Bit](https://fluentbit.io) is a fast and lightweight log processor and forwarder or Linux, OSX and BSD family operating systems. + +## Installation + +To add the `fluent` helm repo, run: + +```sh +helm repo add fluent https://fluent.github.io/helm-charts +``` + +To install a release named `fluent-bit`, run: + +```sh +helm install fluent-bit fluent/fluent-bit +``` + +## Chart values + +```sh +helm show values fluent/fluent-bit +``` + +## Using Lua scripts +Fluent Bit allows us to build filter to modify the incoming records using custom [Lua scripts.](https://docs.fluentbit.io/manual/pipeline/filters/lua) + +### How to use Lua scripts with this Chart + +First, you should add your Lua scripts to `luaScripts` in values.yaml, templating is supported. + +```yaml +luaScripts: + filter_example.lua: | + function filter_name(tag, timestamp, record) + -- put your lua code here. + end +``` + +After that, the Lua scripts will be ready to be used as filters. So next step is to add your Fluent bit [filter](https://docs.fluentbit.io/manual/concepts/data-pipeline/filter) to `config.filters` in values.yaml, for example: + +```yaml +config: + filters: | + [FILTER] + Name lua + Match + script /fluent-bit/scripts/filter_example.lua + call filter_name +``` +Under the hood, the chart will: +- Create a configmap using `luaScripts`. +- Add a volumeMounts for each Lua scripts using the path `/fluent-bit/scripts/