Open
Conversation
Signed-off-by: Bence Csati <bence.csati@axoflow.com>
Signed-off-by: Bence Csati <bence.csati@axoflow.com>
Signed-off-by: Bence Csati <bence.csati@axoflow.com>
Signed-off-by: Bence Csati <bence.csati@axoflow.com>
Signed-off-by: Bence Csati <bence.csati@axoflow.com>
Signed-off-by: Bence Csati <bence.csati@axoflow.com>
Signed-off-by: Bence Csati <bence.csati@axoflow.com>
Signed-off-by: Bence Csati <bence.csati@axoflow.com>
There was a problem hiding this comment.
Pull request overview
This PR adds support for output batching by extending sending_queue configuration for exporters, aligning with the OpenTelemetry Collector’s recommended approach.
Changes:
- Extend
QueueSettings/ exporter config generation to supportsending_queue.batchplus new queue behavior fields (sizer,wait_for_result,block_on_overflow) and update the defaultqueue_sizeto 1000. - Update CRDs and configuration-generation tests/fixtures to reflect the new queue defaults and batching config.
- Update lint/format configuration and docs to describe output batching as the recommended approach.
Reviewed changes
Copilot reviewed 16 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pkg/resources/otel_conf_gen/pipeline/components/exporter/common.go | Adds mapping for new sending queue fields and sending_queue.batch; updates default queue size to 1000. |
| pkg/resources/otel_conf_gen/pipeline/components/exporter/otlp_exporter_test.go | Updates expectations for queue defaults and adds a test case for queue batch settings. |
| pkg/resources/otel_conf_gen/pipeline/components/exporter/otlphttp_exporter_test.go | Updates expected default queue_size from 100 → 1000. |
| pkg/resources/otel_conf_gen/pipeline/components/exporter/fluent_forward_exporter_test.go | Updates expected default queue_size from 100 → 1000. |
| pkg/resources/otel_conf_gen/otel_col_conf_test_fixtures/complex.yaml | Updates fixture exporter queue sizes to 1000. |
| api/telemetry/v1alpha1/otlp_config.go | Introduces QueueBatch and updates QueueSettings fields (replacing old blocking). |
| api/telemetry/v1alpha1/zz_generated.deepcopy.go | Adds deepcopy support for QueueBatch and updates deepcopy for new QueueSettings fields. |
| config/crd/bases/telemetry.kube-logging.dev_outputs.yaml | CRD schema updates for new queue/batch fields and updated queue defaults. |
| charts/telemetry-controller/crds/telemetry.kube-logging.dev_outputs.yaml | Helm-synced CRD schema updates matching config/crd/bases. |
| README.md | Documents output batching (sending_queue.batch) as recommended; clarifies batch processor is not recommended for new configs. |
| .golangci.yml | Enables formatters (gci/gofmt/gofumpt/goimports), enables revive/gocyclo, and removes staticcheck. |
| controllers/telemetry/suite_test.go | Removes //nolint: revive from dot imports. |
| controllers/telemetry/controller_integration_test.go | Removes //nolint: revive from dot imports; adjusts scaffold marker and adds //nolint: gci. |
| cmd/main.go | Adds //nolint: gci and retains the kubebuilder scaffold marker (now with a leading space). |
| .gitignore | Ignores .envrc. |
| CLAUDE.md | Adds repository guidance for Claude Code usage and project structure/commands. |
| .claude/settings.json | Adds Claude Code project settings and sandbox/permissions configuration. |
Comments suppressed due to low confidence (5)
controllers/telemetry/suite_test.go:25
reviveis enabled in.golangci.yml, but these dot-imports no longer have//nolint: revive. Unlessreviveis configured to allow dot imports, this will fail lint. Either restore the//nolint: revivesuppression here (or at file level) or adjust the revive rule set to permit dot imports in Ginkgo test files.
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
controllers/telemetry/controller_integration_test.go:22
- These dot-imports will likely be flagged now that
reviveis enabled and the prior//nolint: revivesuppressions were removed. Consider re-adding the suppression for these lines (or switching to named imports) to keep CI lint passing.
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
controllers/telemetry/controller_integration_test.go:32
- The kubebuilder scaffold marker is now
// +kubebuilder:scaffold:imports(note the space). Kubebuilder’s scaffolding tools typically look for the exact//+kubebuilder:scaffold:importsmarker; adding a space may prevent future scaffolding from inserting imports correctly. Suggest reverting to the exact marker text and, if needed, keepgcisuppression on a separate line.
//nolint: gci
// +kubebuilder:scaffold:imports
cmd/main.go:38
- Same as above: the scaffold marker has a leading space (
// +kubebuilder:scaffold:imports). If kubebuilder expects//+kubebuilder:scaffold:importsexactly, this may break future scaffold operations. Consider restoring the exact marker string and keeping//nolint: gciseparate.
//nolint: gci
// +kubebuilder:scaffold:imports
.golangci.yml:45
staticcheckwas previously enabled but is no longer listed underlinters.enable. If this was accidental, re-enable it to keep catching correctness issues that other linters typically miss. If intentional, consider documenting the rationale in this config to avoid future reintroductions.
enable:
- bodyclose
- errcheck
- ineffassign
- misspell
- nolintlint
- revive
- gocyclo
- unconvert
- unparam
- unused
- whitespace
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
OverOrion
reviewed
Mar 4, 2026
| gocyclo: | ||
| min-complexity: 15 | ||
| enable: | ||
| - staticcheck |
Collaborator
There was a problem hiding this comment.
Why did we get rid of this?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds support for output batching, as it is now the recommended approach.
Manually tested:
Deployed the Log-generator:
Deployed the following manifests:
Resulting config: