Skip to content

Conversation

@nvartolomei
Copy link
Contributor

Allow url_style to be explicitly unset (std::nullopt) to indicate that self-configuration needs to determine the addressing style, rather than implicitly defaulting to virtual_host. This makes the self-configuration logic more explicit about whether the URL style has been configured.

Backports Required

  • none - not a bug fix
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v25.3.x
  • v25.2.x
  • v25.1.x

Release Notes

  • none

Allow url_style to be explicitly unset (std::nullopt) to indicate that
self-configuration needs to determine the addressing style, rather than
implicitly defaulting to virtual_host. This makes the self-configuration
logic more explicit about whether the URL style has been configured.
Copilot AI review requested due to automatic review settings January 29, 2026 04:34
Copy link
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 modifies the S3 client configuration to make the URL style explicitly optional rather than implicitly defaulting to virtual_host. When url_style is std::nullopt, it indicates that self-configuration should determine the appropriate addressing style (virtual-host or path-style).

Changes:

  • Changed s3_url_style url_style from a default value to std::optional<s3_url_style> initialized to std::nullopt
  • Updated self-configuration logic to explicitly set the URL style instead of relying on implicit defaults
  • Added guards to handle the optional URL style in various locations

Reviewed changes

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

Show a summary per file
File Description
src/v/cloud_storage_clients/configuration.h Changed url_style from a default value to std::optional with std::nullopt default
src/v/cloud_storage_clients/s3_client.h Changed _ap_style member to std::optional<s3_url_style>
src/v/cloud_storage_clients/s3_client.cc Updated self-configuration logic to explicitly set URL style and handle optional values
src/v/redpanda/tests/fixture.cc Added check for nullopt and default to virtual_host when converting config
src/v/cloud_io/tests/s3_imposter.cc Added guard to handle optional url_style in test fixture

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant