Skip to content

Conversation

@x1unix
Copy link
Contributor

@x1unix x1unix commented Nov 25, 2025

PR Description

This PR adds otelcol.receiver.awss3 component, which is a wrapper for awss3receiver opentelemetry collector component.

CC @clayton-cornell @dehaansa

Which issue(s) this PR fixes

Partially fixes #4800

Notes to the Reviewer

Note

The wrapper doesn't have support for custom encoding extensions.
Support for custom encoding extensions (and extensions themselves) will be done in next PRs.

PR Checklist

  • CHANGELOG.md updated
  • Documentation added
  • Tests updated
  • Config converters updated

@x1unix x1unix requested review from a team and clayton-cornell as code owners November 25, 2025 02:44
@x1unix x1unix force-pushed the x1unix/feat/s3-receiver branch from 8a81d02 to 6cf4c82 Compare November 25, 2025 02:45
@github-actions
Copy link
Contributor

github-actions bot commented Nov 25, 2025

🔍 Dependency Review

No existing dependencies were upgraded in go.mod. Only net-new indirect dependencies were added, so there are no version-to-version upgrade implications to analyze.

Notes

The following are net-new indirect dependencies introduced by this PR and are not assessed per the rules (no existing dependency versions were changed):

  • github.com/aws/aws-sdk-go-v2/service/sqs v1.42.11
  • github.com/open-telemetry/opamp-go v0.22.0
  • github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampcustommessages v0.139.0
  • github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awss3receiver v0.139.0

These were added to support a new experimental component (otelcol.receiver.awss3).

@github-actions
Copy link
Contributor

github-actions bot commented Nov 25, 2025

💻 Deploy preview available (feat(otelcol.receiver): add awss3 receiver):

Copy link
Contributor

@kalleep kalleep left a comment

Choose a reason for hiding this comment

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

Nice work, left a few comments

// Defaults filled by upstream OTel receiver in a factory.
}

func (args Arguments) receiverConfig() *awss3receiver.Config {
Copy link
Contributor

Choose a reason for hiding this comment

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

This can all me moved into Convert and we can call it from validate

Comment on lines +63 to +66
// SetToDefault implements syntax.Defaulter.
func (*Arguments) SetToDefault() {
// Defaults filled by upstream OTel receiver in a factory.
}
Copy link
Contributor

Choose a reason for hiding this comment

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

If we don't set any default values there is no need to have this function.


// Extensions implements receiver.Arguments.
func (args Arguments) Extensions() map[otelcomponent.ID]otelcomponent.Component {
// TODO(x1unix): expose components after Encodings will be exposed
Copy link
Contributor

Choose a reason for hiding this comment

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

could you create a issue for this work and link in the comment?

"github.com/grafana/alloy/syntax"
)

func TestArguments_UnmarshalAlloy(t *testing.T) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe we should implement default values and extract them from otel factory can be done by calling .NewFactory().CreateDefaultConfig() and map it back to our config.

The reason for it is so that we can have a test here and we would be able to detect braking changes in default config during otel update

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.

Introduce an S3 receiver component

2 participants