Skip to content

helm(v4): Split fluent-operator-crds chart into separate charts for fluentd and fluent-bit CRDs#1929

Open
joshuabaird wants to merge 9 commits intofluent:masterfrom
joshuabaird:chore/split-crd-charts
Open

helm(v4): Split fluent-operator-crds chart into separate charts for fluentd and fluent-bit CRDs#1929
joshuabaird wants to merge 9 commits intofluent:masterfrom
joshuabaird:chore/split-crd-charts

Conversation

@joshuabaird
Copy link
Copy Markdown
Collaborator

Previously, we had a single fluent-operator-crds chart that contained CRDs for both fluentd and fluent-bit.

Helm stores the entire rendered release as a gzipped, double-base64-encoded Kubernetes Secret with a hard 1 MiB limit. Even with compression, both groups combined are pushing past that ceiling, which caused this error:

Error: INSTALLATION FAILED: create: failed to create: Secret "sh.helm.release.v1.fluent-operator-crds-56v9apd3rq.v1" is invalid: data: Too long: may not be more than 1048576 bytes

This PR splits the fluent-operator-crds chart into two separate charts -- one for fluentd and one for fluent-bit so that each chart is under the 1MB limit.

Signed-off-by: Josh Baird <jbaird@galileo.io>
Signed-off-by: Josh Baird <jbaird@galileo.io>
@joshuabaird joshuabaird changed the title helm(v4): Add fluent-operator-crds-fluentd chart helm(v4): Split fluent-operator-crds chart into separate charts for fluentd and fluent-bit CRDs Apr 21, 2026
Signed-off-by: Josh Baird <jbaird@galileo.io>
Signed-off-by: Josh Baird <jbaird@galileo.io>
Signed-off-by: Josh Baird <jbaird@galileo.io>
@joshuabaird joshuabaird marked this pull request as ready for review April 21, 2026 14:56
Copilot AI review requested due to automatic review settings April 21, 2026 14:56
Copy link
Copy Markdown

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

Note

Copilot was unable to run its full agentic suite in this review.

Splits the previously unified Helm chart for Fluent Operator CRDs into separate charts for Fluent Bit and Fluentd to avoid Helm’s 1MiB release Secret size limit.

Changes:

  • Updates CRD mutation script and Makefile generation paths to target new per-component CRD chart directories.
  • Refactors CRD templates to make additionalAnnotations templating idempotent and avoid rendering annotations: null.
  • Updates migration and top-level docs to reference the new fluent-operator-crds-fluent-bit and fluent-operator-crds-fluentd charts.

Reviewed changes

Copilot reviewed 36 out of 37 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
hack/mutate-crds.sh Updates mutation logic and targets new chart template locations; refactors annotations injection.
charts/fluent-operator/MIGRATION-v4.md Documents new split CRD charts and updated adoption/installation steps.
charts/fluent-operator-crds/values.yaml Removes per-component enable flags, leaving only additionalAnnotations.
charts/fluent-operator-crds/templates/fluentd/fluentd.fluent.io_outputs.yaml Switches annotations block to with .Values.additionalAnnotations wrapping.
charts/fluent-operator-crds/templates/fluentd/fluentd.fluent.io_inputs.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluentd/fluentd.fluent.io_fluentds.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluentd/fluentd.fluent.io_fluentdconfigs.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluentd/fluentd.fluent.io_filters.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluentd/fluentd.fluent.io_clusteroutputs.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluentd/fluentd.fluent.io_clusterinputs.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluentd/fluentd.fluent.io_clusterfluentdconfigs.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluentd/fluentd.fluent.io_clusterfilters.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_parsers.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_outputs.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_multilineparsers.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_fluentbits.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/flluentbit.fluent.io_fluentbitconfigs.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_filters.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_collectors.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_clusterparsers.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_clusteroutputs.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_clustermultilineparsers.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_clusterinputs.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_clusterfluentbitconfigs.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/templates/fluent-bit/fluentbit.fluent.io_clusterfilters.yaml Same annotations templating adjustment.
charts/fluent-operator-crds/_docs.md Removes docs for the old unified CRD chart.
charts/fluent-operator-crds/Chart.yaml Renames chart metadata toward Fluentd-only naming and updates sources URL.
charts/fluent-operator-crds-fluentd/values.yaml Adds values for Fluentd CRD chart.
charts/fluent-operator-crds-fluentd/_docs.md Adds install/protection guidance for the Fluentd CRD chart.
charts/fluent-operator-crds-fluentd/CHANGELOG.md Adds changelog for Fluentd CRD chart.
charts/fluent-operator-crds-fluentd/.helmignore Adds Helm ignore patterns for Fluentd CRD chart.
charts/fluent-operator-crds-fluent-bit/_docs.md Adds install/protection guidance for the Fluent Bit CRD chart.
charts/fluent-operator-crds-fluent-bit/Chart.yaml Adds chart metadata for Fluent Bit CRD chart.
charts/fluent-operator-crds-fluent-bit/CHANGELOG.md Adds changelog for Fluent Bit CRD chart.
README.md Updates advanced install docs to use the two split CRD charts.
Makefile Updates controller-gen output paths to new template directories.
Comments suppressed due to low confidence (1)

hack/mutate-crds.sh:1

  • The comment/doc above add_annotations says it “wraps the entire annotations field”, but the implementation only triggers if an annotations: line already exists in the CRD. If controller-gen output ever omits metadata.annotations, additionalAnnotations won’t be injected at all. Also, the awk logic replaces the first matching annotations: block entirely, which would drop any existing non-controller-gen annotations if present. Recommended fix: make the transform robust by inserting an annotations block under metadata: even when it’s absent, and merge/preserve any existing annotation key/value pairs rather than overwriting the entire block.

Comment thread charts/fluent-operator-crds-fluentd/_docs.md Outdated
Comment thread charts/fluent-operator-crds-fluent-bit/CHANGELOG.md Outdated
Signed-off-by: Josh Baird <jbaird@galileo.io>
Signed-off-by: Josh Baird <jbaird@galileo.io>
Copilot AI review requested due to automatic review settings April 21, 2026 17:56
Copy link
Copy Markdown

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 36 out of 37 changed files in this pull request and generated 2 comments.

Comment thread hack/mutate-crds.sh Outdated
Comment thread charts/fluent-operator-crds-fluentd/_docs.md
Signed-off-by: Josh Baird <jbaird@galileo.io>
Signed-off-by: Josh Baird <jbaird@galileo.io>
Copilot AI review requested due to automatic review settings April 21, 2026 18:14
Copy link
Copy Markdown

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 36 out of 37 changed files in this pull request and generated no new comments.

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.

2 participants