Skip to content

YAML configuration should be idiomatic #7593

@stevehipwell

Description

@stevehipwell

Is your feature request related to a problem? Please describe.
I'd like the Fluent Bit YAML 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)
  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).

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions