Skip to content

feat(fluentbit): Support more settings for firehose output#1954

Open
smallc2009 wants to merge 1 commit into
fluent:masterfrom
smallc2009:feature/support-settings-for-firehose-output
Open

feat(fluentbit): Support more settings for firehose output#1954
smallc2009 wants to merge 1 commit into
fluent:masterfrom
smallc2009:feature/support-settings-for-firehose-output

Conversation

@smallc2009
Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

This pull request adds several new configuration options to the Firehose output plugin in Fluent Bit, enhancing its flexibility and AWS integration. The changes include support for data compression, external AWS credentials, aggregation, and worker configuration. Corresponding updates are made to the CRDs, Helm charts. Unit tests are also added to ensure correct parameter handling.

Firehose Output Plugin Enhancements:

  • Added new fields to the Firehose struct: Compression, ExternalID, Profile, SimpleAggregation, and Workers to allow configuration of data compression, external AWS credentials, aggregation, and worker threads.

CRD and Helm Chart Updates:

  • Updated CRDs and Helm chart templates (fluentbit.fluent.io_outputs.yaml, fluentbit.fluent.io_clusteroutputs.yaml) to document and validate the new Firehose plugin options, including allowed values for compression and types for all new fields.

Testing Improvements:

  • Added a unit test (firehose_types_test.go) to verify that all new parameters are correctly set and passed to the plugin.

Which issue(s) this PR fixes:

Fixes #1875

Does this PR introduced a user-facing change?


Additional documentation, usage docs, etc.:


Copilot AI review requested due to automatic review settings May 18, 2026 06:09
Signed-off-by: Anson <anson.liu@live.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends Fluent Bit’s Firehose output plugin CRD/API surface in fluent-operator, exposing additional Firehose configuration knobs (compression, external credentials/profile, aggregation, and worker threads) and propagating them through generated CRDs, Helm chart CRDs, and plugin documentation.

Changes:

  • Added compression, externalID, profile, simpleAggregation, and workers fields to the Firehose output API and render them into Fluent Bit plugin params.
  • Regenerated/updated CRDs and Helm chart CRD artifacts to include schema + validation (notably enum validation for compression).
  • Added a unit test to validate Firehose parameter rendering for the newly supported fields.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
manifests/setup/setup.yaml Updated generated installation manifest CRD schema to include the new Firehose fields.
manifests/setup/fluent-operator-crd.yaml Updated generated CRD bundle with the new Firehose fields.
docs/plugins/fluentbit/output/firehose.md Documented the newly supported Firehose output options.
config/crd/bases/fluentbit.fluent.io_outputs.yaml Updated base Output CRD schema with new Firehose fields and validation.
config/crd/bases/fluentbit.fluent.io_clusteroutputs.yaml Updated base ClusterOutput CRD schema with new Firehose fields and validation.
charts/fluent-operator/crds/fluentbit.fluent.io_outputs.yaml Updated Helm-packaged Output CRD with new Firehose fields.
charts/fluent-operator/crds/fluentbit.fluent.io_clusteroutputs.yaml Updated Helm-packaged ClusterOutput CRD with new Firehose fields.
charts/fluent-operator-fluent-bit-crds/templates/fluentbit.fluent.io_outputs.yaml Updated Fluent Bit CRD chart template (Output) with new Firehose fields.
charts/fluent-operator-fluent-bit-crds/templates/fluentbit.fluent.io_clusteroutputs.yaml Updated Fluent Bit CRD chart template (ClusterOutput) with new Firehose fields.
apis/fluentbit/v1alpha2/plugins/output/zz_generated.deepcopy.go Regenerated deepcopy methods to include new Firehose fields.
apis/fluentbit/v1alpha2/plugins/output/firehose_types.go Added new Firehose fields + rendered them into plugin parameters.
apis/fluentbit/v1alpha2/plugins/output/firehose_types_test.go Added unit test coverage for new Firehose parameter rendering.
Files not reviewed (1)
  • apis/fluentbit/v1alpha2/plugins/output/zz_generated.deepcopy.go: Language not supported

@smallc2009 smallc2009 force-pushed the feature/support-settings-for-firehose-output branch from e2983ef to 6bffebd Compare May 18, 2026 06:13
@joshuabaird joshuabaird requested a review from Copilot May 19, 2026 14:41
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 12 changed files in this pull request and generated 3 comments.

Files not reviewed (1)
  • apis/fluentbit/v1alpha2/plugins/output/zz_generated.deepcopy.go: Language not supported

Comment thread apis/fluentbit/v1alpha2/plugins/output/firehose_types.go
Comment thread docs/plugins/fluentbit/output/firehose.md
Comment thread apis/fluentbit/v1alpha2/plugins/output/firehose_types_test.go
@joshuabaird joshuabaird changed the title Support more settings for firehose output feat(fluentbit): Support more settings for firehose output May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support the compression field for firehose output configuration

2 participants