pub struct S3CompatibleConfig {
pub endpoint: String,
pub bucket: String,
pub tcp_user_timeout: Duration,
pub cogs: Option<CostTrackerStreamConfig>,
}Expand description
Configuration for S3CompatibleBackend.
Supports Amazon S3 and other S3-compatible services. Authentication is handled via
environment variables (AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY) or IAM roles.
§Example
storage:
type: s3compatible
endpoint: https://s3.amazonaws.com
bucket: my-bucketFields§
§endpoint: StringS3 endpoint URL.
Examples: https://s3.amazonaws.com, http://localhost:9000 (for MinIO)
§Environment Variables
OS__STORAGE__TYPE=s3compatibleOS__STORAGE__ENDPOINT=https://s3.amazonaws.com
bucket: StringS3 bucket name.
The bucket must exist before starting the server.
§Environment Variables
OS__STORAGE__BUCKET=my-bucket
tcp_user_timeout: DurationMaximum time TCP data may remain unacknowledged or blocked before failing the request.
This detects stalled transports. It does not limit the total upload duration or the time
waiting for a response after the upload is acknowledged. Applied on Linux and ignored on
other platforms. 0s uses the operating system’s default.
§Default
30s
§Environment Variables
OS__STORAGE__TCP_USER_TIMEOUT=30s
cogs: Option<CostTrackerStreamConfig>Reports what this backend stores, for per-usecase cost attribution.
§Default
None, which disables reporting for this backend.
§Environment Variables
OS__STORAGE__COGS__SHARED_RESOURCE_ID=s3_objectstoreOS__STORAGE__COGS__SAMPLE_RATE=1.0(optional)
Trait Implementations§
Source§impl Clone for S3CompatibleConfig
impl Clone for S3CompatibleConfig
Source§fn clone(&self) -> S3CompatibleConfig
fn clone(&self) -> S3CompatibleConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for S3CompatibleConfig
impl Debug for S3CompatibleConfig
Source§impl<'de> Deserialize<'de> for S3CompatibleConfig
impl<'de> Deserialize<'de> for S3CompatibleConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for S3CompatibleConfig
impl RefUnwindSafe for S3CompatibleConfig
impl Send for S3CompatibleConfig
impl Sync for S3CompatibleConfig
impl Unpin for S3CompatibleConfig
impl UnsafeUnpin for S3CompatibleConfig
impl UnwindSafe for S3CompatibleConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].