Struct mz_environmentd::Config
source · pub struct Config {Show 35 fields
pub unsafe_mode: bool,
pub all_features: bool,
pub cors_allowed_origin: AllowOrigin,
pub tls: Option<TlsCertConfig>,
pub frontegg: Option<Authenticator>,
pub controller: ControllerConfig,
pub secrets_controller: Arc<dyn SecretsController>,
pub cloud_resource_controller: Option<Arc<dyn CloudResourceController>>,
pub persist_txn_tables_cli: Option<PersistTxnTablesImpl>,
pub catalog_config: CatalogConfig,
pub timestamp_oracle_url: Option<String>,
pub environment_id: EnvironmentId,
pub availability_zones: Vec<String>,
pub cluster_replica_sizes: ClusterReplicaSizeMap,
pub bootstrap_default_cluster_replica_size: String,
pub bootstrap_builtin_system_cluster_replica_size: String,
pub bootstrap_builtin_introspection_cluster_replica_size: String,
pub system_parameter_defaults: BTreeMap<String, String>,
pub storage_usage_collection_interval: Duration,
pub storage_usage_retention_period: Option<Duration>,
pub segment_api_key: Option<String>,
pub egress_ips: Vec<Ipv4Addr>,
pub aws_account_id: Option<String>,
pub aws_privatelink_availability_zones: Option<Vec<String>>,
pub launchdarkly_sdk_key: Option<String>,
pub config_sync_timeout: Duration,
pub config_sync_loop_interval: Option<Duration>,
pub launchdarkly_key_map: BTreeMap<String, String>,
pub bootstrap_role: Option<String>,
pub deploy_generation: Option<u64>,
pub http_host_name: Option<String>,
pub internal_console_redirect_url: Option<String>,
pub metrics_registry: MetricsRegistry,
pub tracing_handle: TracingHandle,
pub now: NowFn,
}
Expand description
Configuration for an environmentd
server.
Fields§
§unsafe_mode: bool
Whether to permit usage of unsafe features. This is never meant to run in production.
all_features: bool
Whether the environmentd is running on a local dev machine. This is never meant to run in production or CI.
cors_allowed_origin: AllowOrigin
Origins for which cross-origin resource sharing (CORS) for HTTP requests is permitted.
tls: Option<TlsCertConfig>
TLS encryption and authentication configuration.
frontegg: Option<Authenticator>
Frontegg JWT authentication configuration.
controller: ControllerConfig
Storage and compute controller configuration.
secrets_controller: Arc<dyn SecretsController>
Secrets controller configuration.
cloud_resource_controller: Option<Arc<dyn CloudResourceController>>
VpcEndpoint controller configuration.
persist_txn_tables_cli: Option<PersistTxnTablesImpl>
Whether to use the new persist-txn tables implementation or the legacy one.
If specified, this overrides the value stored in Launch Darkly (and mirrored to the catalog storage’s “config” collection).
catalog_config: CatalogConfig
Catalog configuration.
timestamp_oracle_url: Option<String>
The PostgreSQL URL for the Postgres-backed timestamp oracle.
environment_id: EnvironmentId
The cloud ID of this environment.
availability_zones: Vec<String>
Availability zones in which storage and compute resources may be deployed.
cluster_replica_sizes: ClusterReplicaSizeMap
A map from size name to resource allocations for cluster replicas.
bootstrap_default_cluster_replica_size: String
The size of the default cluster replica if bootstrapping.
bootstrap_builtin_system_cluster_replica_size: String
The size of the builtin system cluster replicas if bootstrapping.
bootstrap_builtin_introspection_cluster_replica_size: String
The size of the builtin introspection cluster replicas if bootstrapping.
system_parameter_defaults: BTreeMap<String, String>
Values to set for system parameters, if those system parameters have not already been set by the system user.
storage_usage_collection_interval: Duration
The interval at which to collect storage usage information.
storage_usage_retention_period: Option<Duration>
How long to retain storage usage records for.
segment_api_key: Option<String>
An API key for Segment. Enables export of audit events to Segment.
egress_ips: Vec<Ipv4Addr>
IP Addresses which will be used for egress.
aws_account_id: Option<String>
The AWS account ID, which will be used to generate ARNs for Materialize-controlled AWS resources.
aws_privatelink_availability_zones: Option<Vec<String>>
Supported AWS PrivateLink availability zone ids.
launchdarkly_sdk_key: Option<String>
An SDK key for LaunchDarkly. Enables system parameter synchronization with LaunchDarkly.
config_sync_timeout: Duration
The duration at which the system parameter synchronization times out during startup.
config_sync_loop_interval: Option<Duration>
The interval in seconds at which to synchronize system parameter values.
launchdarkly_key_map: BTreeMap<String, String>
An invertible map from system parameter names to LaunchDarkly feature keys to use when propagating values from the latter to the former.
bootstrap_role: Option<String>
What role, if any, should be initially created with elevated privileges.
deploy_generation: Option<u64>
Generation we want deployed. Generally only present when doing a production deploy.
http_host_name: Option<String>
Host name or URL for connecting to the HTTP server of this instance.
internal_console_redirect_url: Option<String>
URL of the Web Console to proxy from the /internal-console endpoint on the InternalHTTPServer
metrics_registry: MetricsRegistry
The metrics registry to use.
tracing_handle: TracingHandle
Handle to tracing.
now: NowFn
A now generation function for mocking time.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl !UnwindSafe for Config
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
source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
RustType::into_proto
.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.