pub struct GcsConfig {
pub endpoint: Option<String>,
pub bucket: String,
pub tcp_user_timeout: Duration,
pub cogs: Option<CostTrackerStreamConfig>,
}Expand description
Configuration for GcsBackend.
Stores objects in Google Cloud Storage. Authentication uses Application Default Credentials
(ADC), which can be provided via the GOOGLE_APPLICATION_CREDENTIALS environment variable or
the GCE/GKE metadata service.
Note: The bucket must be pre-created with the following lifecycle policy:
daysSinceCustomTime: 1 dayaction: delete
§Example
storage:
type: gcs
bucket: objectstore-bucketFields§
§endpoint: Option<String>Optional custom GCS endpoint URL.
Useful for testing with emulators. If None, uses the default GCS endpoint.
§Default
None (uses default GCS endpoint)
§Environment Variables
OS__STORAGE__TYPE=gcsOS__STORAGE__ENDPOINT=http://localhost:9000(optional)
bucket: StringGCS bucket name.
The bucket must exist before starting the server.
§Environment Variables
OS__STORAGE__BUCKET=my-gcs-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=gcs_objectstoreOS__STORAGE__COGS__SAMPLE_RATE=1.0(optional)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for GcsConfig
impl<'de> Deserialize<'de> for GcsConfig
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 GcsConfig
impl RefUnwindSafe for GcsConfig
impl Send for GcsConfig
impl Sync for GcsConfig
impl Unpin for GcsConfig
impl UnsafeUnpin for GcsConfig
impl UnwindSafe for GcsConfig
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].