fluent / fluent/fluent-bit

YAML configuration should be idiomatic

Open
#7,593 16 comments 6 reactions 0 assignees View on GitHub
exempt-stale feature-request
Dominant language
C
Stars
8.1k
Forks
2k
Avg merge
4d 20h
Merged PRs (30d)
71

Description

**Is your feature request related to a problem? Please describe.**
I'd like the Fluent Bit [YAML](https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/yaml/configuration-file) configuration to be idiomatic as otherwise it's just another DSL.

**Describe the solution you'd like**
In addition to the YAML format needing to support all of the potential configurations I'd like the following points addresses.

1. Make sure the YAML configuration is valid YAML (potentially [StrictYAML](https://hitchdev.com/strictyaml/))
2. Use the correct types (boolean types should only accept valid YAML booleans)
3. Use idiomatic camelcase keys

This is an example configuration using idiomatic YAML (there could be more nesting and the keys could be optimised e.g. `parsersFile` -> `parsers`).

```yaml
env: []

service:
daemon: false
httpServer: true
httpPort: 2020
httpListen: 0.0.0.0

parsersFile:
- /fluent-bit/etc/parsers.conf
- /fluent-bit/etc/extra-parsers.conf

storage:
path: /fluent-bit/data

inputs:
- name: forward
listen: 0.0.0.0
port: 24224
storage:
type: filesystem

filters:
- name: record_modifier
match: syslog
record:
- powered_by calyptia

outputs:
- name: stdout
match: *
```

**Describe alternatives you've considered**
We don't currently use YAML config due to this and use the classic version.

**Additional context**
Having an idiomatic YAML configuration format will make Helm chart and general Kubernetes integration much simpler and safer.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.