pub fn s3_builder(bucket: &str, settings: &S3Settings) -> AmazonS3BuilderExpand description
The S3 builder datui uses everywhere, so that every path authenticates identically.
This existing separately matters more than it looks. The bucket listing needs the
concrete AmazonS3 in order to ask it for a credential, while opening an object
needs only dyn ObjectStore; when the two built their own builders, the listing
quietly dropped the configured endpoint and keys and authenticated from the
environment instead. Against MinIO that fails every time, and against AWS it would
silently use whichever account the environment happened to name.
settings are one source’s (cloud_sources::resolve); nothing here reads the
config or the command line again. The builder is addressed by bucket name, so only
s3://bucket/key URLs are served; a virtual-hosted URL would need with_url, which
nothing in datui produces.