Skip to main content

Module config

Module config 

Source
Expand description

Loads and validates server configuration.

Configuration types preserve startup sources for reloads and expose typed settings to the rest of the workspace. Field documentation also supplies the generated example configuration.

Re-exportsΒ§

pub use self::check::check;
pub use self::ip_source::IpSource;
pub use self::manager::Manager;
pub use self::sources::Sources;

ModulesΒ§

check
Validates configuration before startup and reload.
identity_provider_serde πŸ”’
ip_source
Defines sources for trusted client IP extraction.
manager
Maintains the active reloadable configuration.
net πŸ”’
proxy
Defines outbound proxy configuration and domain matching.
regenerate πŸ”’
room_version
Defines supported Matrix room-version policy.
sources
Defines the inputs used to assemble configuration.
well_known
Converts discovery configuration into Matrix API values.

StructsΒ§

AppService
Defines one inline Matrix application service registration.
AppServiceNamespace
Defines one namespace claimed by an application service.
Config
All the config options for tuwunel.
Figment
Combiner of [Provider]s for configuration value extraction.
IdentityProvider
Configures one OpenID Connect identity provider.
JwtConfig
Configures authentication using JSON Web Tokens.
LdapConfig
Configures LDAP authentication and directory-backed administration.
RegenerateOptions
Selects how an existing configuration is regenerated.
RegenerationSummary
Summarizes a completed configuration regeneration.
SmtpConfig
Configures outbound email verification through SMTP.
StorageProviderLocal
Configures local filesystem object storage.
StorageProviderS3
Configures an S3-compatible object storage provider.
SupportContact
Defines a contact published by the support discovery endpoint.
SupportPolicy
Defines one policy published by the support discovery endpoint.
SupportPolicyTranslation
Defines one localized support policy document.
TermsPolicy
Defines a policy document required during registration.
TermsPolicyTranslation
Defines one localized registration policy document.
TlsConfig
Configures direct TLS listener behavior.
WellKnownConfig
Configures Matrix discovery documents and related response data.

EnumsΒ§

FigmentValue
An enum representing all possible figment value variants.
Overwrite
Selects whether an existing output may be replaced.
StorageProvider
Selects the backend for a named media storage provider.

ConstantsΒ§

ENV_PREFIXES πŸ”’
TUWUNEL_CONFIG_SECTION_APPSERVICE πŸ”’
TUWUNEL_CONFIG_SECTION_APPSERVICENAMESPACE πŸ”’
TUWUNEL_CONFIG_SECTION_CONFIG πŸ”’
TUWUNEL_CONFIG_SECTION_IDENTITYPROVIDER πŸ”’
TUWUNEL_CONFIG_SECTION_JWTCONFIG πŸ”’
TUWUNEL_CONFIG_SECTION_LDAPCONFIG πŸ”’
TUWUNEL_CONFIG_SECTION_SMTPCONFIG πŸ”’
TUWUNEL_CONFIG_SECTION_STORAGEPROVIDERLOCAL πŸ”’
TUWUNEL_CONFIG_SECTION_STORAGEPROVIDERS3 πŸ”’
TUWUNEL_CONFIG_SECTION_SUPPORTCONTACT πŸ”’
TUWUNEL_CONFIG_SECTION_SUPPORTPOLICY πŸ”’
TUWUNEL_CONFIG_SECTION_SUPPORTPOLICYTRANSLATION πŸ”’
TUWUNEL_CONFIG_SECTION_TERMSPOLICY πŸ”’
TUWUNEL_CONFIG_SECTION_TERMSPOLICYTRANSLATION πŸ”’
TUWUNEL_CONFIG_SECTION_TLSCONFIG πŸ”’
TUWUNEL_CONFIG_SECTION_WELLKNOWNCONFIG πŸ”’

StaticsΒ§

DEPRECATED_KEYS πŸ”’
Items listed here generate a deprecation warning when configured.
KNOWN_KEYS πŸ”’
Items matched here will not generate an β€œunknown to tuwunel” warning when configured. This is important for environment variables which share the TUWUNEL_ prefix namespace but aren’t config items; match them here in their split+lowercased format.

FunctionsΒ§

default_access_token_ttl πŸ”’
default_admin_log_capture πŸ”’
default_admin_output_max_events πŸ”’
default_admin_room_tag πŸ”’
default_appservice_idle_timeout πŸ”’
default_appservice_timeout πŸ”’
default_auth_chain_cache_capacity πŸ”’
default_cache_capacity_modifier πŸ”’
default_client_receive_timeout πŸ”’
default_client_request_timeout πŸ”’
default_client_response_timeout πŸ”’
default_client_shutdown_timeout πŸ”’
default_client_sync_timeout_default πŸ”’
default_client_sync_timeout_max πŸ”’
default_client_sync_timeout_min πŸ”’
default_conduit_media_directory_depth πŸ”’
default_conduit_media_directory_length πŸ”’
default_database_backups_to_keep πŸ”’
default_database_path πŸ”’
default_db_cache_capacity_mb πŸ”’
default_db_pool_max_workers πŸ”’
default_db_pool_queue_mult πŸ”’
default_db_pool_workers πŸ”’
default_db_pool_workers_limit πŸ”’
default_db_write_buffer_capacity_mb πŸ”’
default_default_room_version
Returns the default Matrix room version.
default_deprioritize_joins_through_servers πŸ”’
default_dns_attempts πŸ”’
default_dns_cache_entries πŸ”’
default_dns_min_ttl πŸ”’
default_dns_min_ttl_nxdomain πŸ”’
default_dns_timeout πŸ”’
default_eventid_backoff_cache_capacity πŸ”’
default_eventid_pdu_cache_capacity πŸ”’
default_eventidshort_cache_capacity πŸ”’
default_federation_idle_per_host πŸ”’
default_federation_idle_timeout πŸ”’
default_federation_keys_timeout πŸ”’
default_federation_timeout πŸ”’
default_fetch_prev_wait_ms πŸ”’
default_forward_extremities_emergency_max πŸ”’
default_forward_extremities_max πŸ”’
default_forward_extremities_prune_batch πŸ”’
default_ip_lookup_strategy πŸ”’
default_ip_range_denylist πŸ”’
default_jaeger_filter πŸ”’
default_jwt_algorithm πŸ”’
default_jwt_format πŸ”’
default_ldap_search_filter πŸ”’
default_ldap_uid_attribute πŸ”’
default_log
do debug logging by default for debug builds
default_log_span_events
Returns the default tracing span-event mode.
default_login_token_ttl πŸ”’
default_max_fetch_prev_events πŸ”’
default_max_join_attempts_per_join_request πŸ”’
default_max_make_join_attempts_per_join_attempt πŸ”’
default_max_pending_media_uploads πŸ”’
default_max_request_size πŸ”’
default_max_response_size πŸ”’
default_media_create_unused_expiration_time πŸ”’
default_media_rc_create_burst_count πŸ”’
default_media_rc_create_per_second πŸ”’
default_media_storage_providers πŸ”’
default_media_thumbnail_max_pixels πŸ”’
default_media_video_thumbnail_concurrency πŸ”’
default_media_video_thumbnail_max_size πŸ”’
default_media_video_thumbnail_timeout πŸ”’
default_mediaid_lazycontent_cache_capacity πŸ”’
default_multipart_part_size πŸ”’
default_multipart_threshold πŸ”’
default_new_user_displayname_suffix πŸ”’
default_notification_push_path πŸ”’
default_one_time_key_limit πŸ”’
default_openid_token_ttl πŸ”’
default_pdu_cache_capacity πŸ”’
default_policy_server_request_timeout πŸ”’
default_port πŸ”’
default_presence_idle_timeout_s πŸ”’
default_presence_offline_timeout_s πŸ”’
default_pusher_idle_timeout πŸ”’
default_redaction_retention_seconds πŸ”’
default_refresh_token_reuse_grace πŸ”’
default_rendezvous_max_sessions πŸ”’
default_rendezvous_rc_burst_count πŸ”’
default_rendezvous_rc_per_second πŸ”’
default_rendezvous_session_max_bytes πŸ”’
default_rendezvous_session_ttl πŸ”’
default_request_conn_timeout πŸ”’
default_request_idle_per_host πŸ”’
default_request_idle_timeout πŸ”’
default_request_timeout πŸ”’
default_request_total_timeout πŸ”’
default_resolve_state_locally_max πŸ”’
default_resolver_cache_capacity πŸ”’
default_rocksdb_bottommost_compression_level πŸ”’
Default RocksDB compression level is 32767, which is internally read by RocksDB as the default magic number and translated to the library’s default compression level as they all differ. See their kDefaultCompressionLevel.
default_rocksdb_compression_algo πŸ”’
default_rocksdb_compression_level πŸ”’
Default RocksDB compression level is 32767, which is internally read by RocksDB as the default magic number and translated to the library’s default compression level as they all differ. See their kDefaultCompressionLevel.
default_rocksdb_log_level πŸ”’
default_rocksdb_log_time_to_roll πŸ”’
default_rocksdb_max_log_file_size πŸ”’
default_rocksdb_max_log_files πŸ”’
default_rocksdb_parallelism_threads πŸ”’
default_rocksdb_recovery_mode πŸ”’
default_rocksdb_stats_level πŸ”’
default_sender_idle_timeout πŸ”’
default_sender_retry_backoff_limit πŸ”’
default_sender_retry_grace πŸ”’
default_sender_shutdown_timeout πŸ”’
default_sender_timeout πŸ”’
default_sentry_endpoint πŸ”’
default_sentry_filter πŸ”’
default_sentry_traces_sample_rate πŸ”’
default_servername_status_cache_capacity πŸ”’
default_servernameevent_data_cache_capacity πŸ”’
default_shorteventid_cache_capacity πŸ”’
default_shortstatekey_cache_capacity πŸ”’
default_spacehierarchy_cache_ttl_max πŸ”’
default_spacehierarchy_cache_ttl_min πŸ”’
default_sso_grant_session_duration πŸ”’
default_startup_netburst_keep πŸ”’
default_stateinfo_cache_capacity πŸ”’
default_statekeyshort_cache_capacity πŸ”’
default_stream_amplification πŸ”’
default_stream_width_default πŸ”’
default_stream_width_scale πŸ”’
default_tracing_flame_filter πŸ”’
default_tracing_flame_output_path πŸ”’
default_trusted_server_batch_concurrency πŸ”’
default_trusted_server_batch_size πŸ”’
default_trusted_servers πŸ”’
default_turn_ttl πŸ”’
default_typing_client_timeout_max_s πŸ”’
default_typing_client_timeout_min_s πŸ”’
default_typing_federation_timeout_s πŸ”’
default_unix_socket_perms πŸ”’
default_url_preview_max_media_size πŸ”’
default_url_preview_max_spider_size πŸ”’
default_well_known_conn_timeout πŸ”’
default_well_known_timeout πŸ”’
example_config
Renders the example configuration carried by this binary.
parallelism_scaled πŸ”’
parallelism_scaled_f64 πŸ”’
parallelism_scaled_u32 πŸ”’
regenerate_config
Regenerates the file-backed configuration retained by sources.
some_true_fn πŸ”’
true_fn πŸ”’
write_example_config
Writes the example configuration to a filesystem path.