36 lines
1.1 KiB
Rust
36 lines
1.1 KiB
Rust
|
use serde_derive::Deserialize;
|
||
|
use services_mango_lib::postgres_configuration::PostgresConfiguration;
|
||
|
use std::collections::HashSet;
|
||
|
|
||
|
#[derive(Clone, Debug, Deserialize)]
|
||
|
pub struct Configuration {
|
||
|
pub postgres: Option<PostgresConfiguration>,
|
||
|
pub rpc_http_url: String,
|
||
|
pub rpc_ws_url: String,
|
||
|
pub mango_group: String,
|
||
|
pub computing_configuration: ComputingConfiguration,
|
||
|
pub logging_configuration: LoggingConfiguration,
|
||
|
pub persistence_configuration: PersistenceConfiguration,
|
||
|
}
|
||
|
|
||
|
#[derive(Clone, Debug, Deserialize)]
|
||
|
pub struct ComputingConfiguration {
|
||
|
pub recompute_interval_ms: u64,
|
||
|
}
|
||
|
|
||
|
#[derive(Clone, Debug, Deserialize)]
|
||
|
pub struct LoggingConfiguration {
|
||
|
pub log_health_to_stdout: bool,
|
||
|
pub log_health_for_accounts: Option<HashSet<String>>,
|
||
|
}
|
||
|
|
||
|
#[derive(Clone, Debug, Deserialize)]
|
||
|
pub struct PersistenceConfiguration {
|
||
|
pub enabled: bool,
|
||
|
pub history_time_to_live_secs: i64,
|
||
|
pub persist_max_periodicity_secs: i64,
|
||
|
pub max_failure_duration_secs: i64,
|
||
|
pub max_retry_count: u64,
|
||
|
pub snapshot_queue_length: usize,
|
||
|
}
|