pub struct S3RemoteCacheConfig {
pub bucket: String,
pub prefix: String,
pub namespace: String,
pub region: String,
pub endpoint: Option<Url>,
pub force_path_style: Option<bool>,
pub conditional_writes: S3ConditionalWrites,
pub credentials: S3Credentials,
pub connect_timeout: Duration,
pub read_timeout: Duration,
pub download_timeout: Duration,
pub retries: i64,
}Expand description
Connection, addressing, and credential settings for an S3 remote cache.
Fields§
§bucket: StringBucket holding the cache.
prefix: StringKey prefix within the bucket, empty for the bucket root.
namespace: StringNamespace isolating one project’s cache, used as a key prefix.
region: StringRegion used to sign requests.
endpoint: Option<Url>Endpoint override for a non-AWS store such as MinIO or R2.
force_path_style: Option<bool>Force bucket-in-path addressing, overriding what the endpoint implies.
conditional_writes: S3ConditionalWritesHow to treat a store that does not implement conditional writes.
credentials: S3CredentialsCredentials used to sign requests.
connect_timeout: DurationMaximum time allowed to establish a connection.
read_timeout: DurationMaximum time without response progress for ordinary requests.
download_timeout: DurationDeadline for one blob download, spanning every retry attempt and the backoff between them rather than bounding a single attempt.
A single stalled attempt is already bounded by connect_timeout and
read_timeout, so this budget exists to cap the total wall-clock one
logical download may spend: exhausting it fails the download even when
retries remain. Size it for the largest artifact worth waiting on, not
for one attempt at it.
retries: i64Number of attempts after the initial request for retryable failures.