feat: support the Fluent Bit type_converter filter
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 65/100
Hướng nghiên cứu
Start with apis/fluentbit/v1alpha2/clusterfilter_types.go and trace how existing filter fields are rendered into Fluent Bit config and YAML. Add the typeConverter API shape and validation for its four source lists, keys, supported types, and nonempty rules; follow the corresponding rendering and CRD tests. Done means both ClusterFilter and namespaced Filter accept valid conversions, reject invalid ones, and render the requested formats.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Is your feature request related to a problem? Please describe.
Fluent Bit's type_converter filter converts a field to another type (int, uint, float or string) and appends the result under a new key. It's the usual way to get a number into a string so grep or modify can match on it, or to turn a numeric string into a real number before it reaches a metrics or search backend.
FilterItem in apis/fluentbit/v1alpha2/clusterfilter_types.go has no field for it, so neither a ClusterFilter nor a namespaced Filter can use it. The only workaround is customPlugin, which means writing the config by hand, and the API server can't check it. A typo there only shows up when Fluent Bit fails to start.
Describe the solution you'd like
Add a typeConverter filter with one list for each source type that Fluent Bit supports (int_key, uint_key, float_key, str_key). Each entry has a fromKey, a toKey and a target type:
apiVersion: fluentbit.fluent.io/v1alpha2
kind: ClusterFilter
metadata:
name: type-converter
spec:
match: "*"
filters:
- typeConverter:
strKeys:
- fromKey: status
toKey: status_code
type: int
This renders as Str_Key status status_code int, and as a list in the YAML config format.
Fluent Bit takes exactly three space-separated tokens per entry, and it won't start if the filter has no rules ([filter:type_converter] no rules). So the CRD should reject keys that contain whitespace, types other than the four supported ones, and a typeConverter with no conversions.
Additional context
The plugin is part of the upstream fluent/fluent-bit image the operator's Fluent Bit image is built from.
- Ngôn ngữ chính
- Go
- Star
- 689
- Fork
- 333
- Merge trung bình
- 2 ngày 6 giờ
- Pull request đã merge (30 ngày)
- 43
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của fluent/fluent-operator
-
bug: fluent-bit image still ships vulnerable libbrotli1 (CVE-2026-111497)Có thể đã có người làm @joshuabaird đã nhận 9 ngày trước. Đang mởfluent-bit security
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
fluent/fluent-operator#2082 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug: fluent operator is consuming lot of cpu cores (~27 of the 32 available cores on a Node)Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
fluent/fluent-operator#1990 · 9 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement fluent-bit good first issue
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
fluent/fluent-operator#1854 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Remove tag consideration from Fluentd ClusterFilter / Filter orderCó thể đã có người làm @cvas22 đã nhận 1 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
fluent/fluent-operator#1832 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
fluent/fluent-operator#1831 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của fluent/fluent-operator
Issue tương tự
-
automated-triage type/bug type/ci
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
hashicorp/terraform-provider-google#30678 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
ethereum-optimism/optimism#24120 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/docs
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
meshery/meshery#23375 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ApplicationSet: BitBucket Cloud SCM provider returns corrupted error (%!w(<nil>)) when a branch has no commit hashCó thể đã có người làm @AP24110011695 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày