feat(azure_blob sink): Add proxy support#24256
feat(azure_blob sink): Add proxy support#24256thomasqueirozb merged 6 commits intovectordotdev:masterfrom
Conversation
|
Hi @joshcoughlan, I think this one should go in after #24255 right? |
Correct. #24255 will need to be merged first. After that's done, this PR will likely need a little attention. |
|
I have read the CLA Document and I hereby sign the CLA |
2c682fe to
808fb44
Compare
|
Hey @thomasqueirozb I've updated this PR now that #24255 has been merged. I've run the checks in |
|
Added changelog entry and updated the sink's documentation. |
|
recheck |
thomasqueirozb
left a comment
There was a problem hiding this comment.
Hi @joshcoughlan, the changelog entry is a file placed inside the changelog.d/ directory. You can take a look at other files already in there as examples. I can merge this in once this is added.
Additionally do you think that it is viable to add an integration test for this?
Either way, theses changes look good to me. Thanks for your contribution!
|
I had made these changes, but was on a child branch that gets built in our CI for testing the binary and container image. Oops. |
Co-authored-by: Thomas <thomasqueirozb@gmail.com>
Head branch was pushed to by a user without write access
Summary
This PR adds per-sink proxy support to the
azure_blobsink, matching the behavior already available for AWS S3 and GCP sinks.Highlights:
SinkContext(ProxyConfig), not environment variables.azure_core::http::ClientOptionsand a dedicated, aliasedreqwest0.12 client (reqwest_0_12_24), so it does not impact the project-widereqwestusage.reqwest::Proxy).no_proxypatterns at the sink level to bypass the proxy for matching Azure endpoints.Vector configuration
Example of per-sink proxy settings for Azure Blob:
Notes:
reqwest.no_proxyor the proxy is disabled, the sink makes direct connections and disables any system proxy auto-detection for this client.How did you test this PR?
reqwest0.12 transport and that proxies are applied only for this sink.no_proxyhandling by targeting a host in the exclusion list to ensure direct connections are used.azure_blobsink at it with:no_proxyentry matching the Azurite host to confirm bypass.Change Type
Is this a breaking change?
Does this PR include user facing changes?
reqwest+azure_core::http::ClientOptions(HTTP/HTTPS proxies, honorsno_proxy, supports proxy credentials).no-changeloglabel to this PR.References
Notes
reqwest0.12 client (reqwest_0_12_24) to avoid affecting other components that depend on a differentreqwestversion.ProxyConfig.Cargo.lock), I’ll runmake build-licensesto refresh the license inventory.AccountName:ERROR vector::topology::builder: Configuration error. error=Sink "testing-azure_blob": Account name missing in connection string