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<Authentication>, pub connection_context: ConnectionContext, pub controller: ControllerConfig, pub secrets_controller: Arc<dyn SecretsController>, pub cloud_resource_controller: Option<Arc<dyn CloudResourceController>>, pub enable_persist_txn_tables_cli: Option<bool>, 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 default_storage_cluster_size: Option<String>, pub bootstrap_default_cluster_replica_size: String, pub bootstrap_builtin_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_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.


§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<Authentication>

Frontegg JWT authentication configuration.

§connection_context: ConnectionContext

Configuration for source and sink connections created by the storage layer. This can include configuration for external sources.

§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.

§enable_persist_txn_tables_cli: Option<bool>

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 stash’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.

§default_storage_cluster_size: Option<String>

The size of the cluster to create for a source or sink if no size is given.

§bootstrap_default_cluster_replica_size: String

The size of the default cluster replica if bootstrapping.

§bootstrap_builtin_cluster_replica_size: String

The size of the builtin 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>

12-digit AWS account id, which will be used to generate an AWS Principal.

§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_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§


impl Clone for Config


fn clone(&self) -> Config

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

impl Debug for Config


fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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§


impl<T> Any for Twhere T: 'static + ?Sized,


fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more

impl<T> Borrow<T> for Twhere T: ?Sized,


fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for Twhere T: ?Sized,


fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more

impl<T> DynClone for Twhere T: Clone,


impl<T> From<T> for T


fn from(t: T) -> T

Returns the argument unchanged.


impl<T> FromRef<T> for Twhere T: Clone,


fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.

impl<T> FutureExt for T


fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more

impl<T> Instrument for T


fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T, U> Into<U> for Twhere U: From<T>,


fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.


impl<T> IntoRequest<T> for T


fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request

impl<T> Pointable for T


const ALIGN: usize = _

The alignment of pointer.

type Init = T

The type for initializers.

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

impl<T> PreferredContainer for Twhere T: Clone,


type Container = Vec<T>

The preferred container for the type.

impl<T> ProgressEventTimestamp for Twhere T: Data + Debug + Any,


fn as_any(&self) -> &(dyn Any + 'static)

Upcasts this ProgressEventTimestamp to Any. Read more

fn type_name(&self) -> &'static str

Returns the name of the concrete type of this object. Read more

impl<P, R> ProtoType<R> for Pwhere R: RustType<P>,


impl<T> Same for T


type Output = T

Should always be Self

impl<T> ToOwned for Twhere T: Clone,


type Owned = T

The resulting type after obtaining ownership.

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for Twhere U: Into<T>,


type Error = Infallible

The type returned in the event of a conversion error.

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,


type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,


fn vzip(self) -> V


impl<T> WithSubscriber for T


fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

impl<T> Data for Twhere T: Clone + 'static,