32 lines
1.1 KiB
Rust
32 lines
1.1 KiB
Rust
|
use serde_derive::Deserialize;
|
||
|
|
||
|
#[derive(Clone, Debug, Deserialize)]
|
||
|
pub struct PostgresConfig {
|
||
|
pub connection_string: String,
|
||
|
/// Number of parallel postgres connections used for insertions
|
||
|
pub connection_count: u64,
|
||
|
/// Maximum batch size for inserts over one connection
|
||
|
pub max_batch_size: usize,
|
||
|
/// Max size of queues
|
||
|
pub max_queue_size: usize,
|
||
|
/// Number of queries retries before fatal error
|
||
|
pub retry_query_max_count: u64,
|
||
|
/// Seconds to sleep between query retries
|
||
|
pub retry_query_sleep_secs: u64,
|
||
|
/// Seconds to sleep between connection attempts
|
||
|
pub retry_connection_sleep_secs: u64,
|
||
|
/// Fatal error when the connection can't be reestablished this long
|
||
|
pub fatal_connection_timeout_secs: u64,
|
||
|
/// Allow invalid TLS certificates, passed to native_tls danger_accept_invalid_certs
|
||
|
pub allow_invalid_certs: bool,
|
||
|
pub tls: Option<PostgresTlsConfig>,
|
||
|
}
|
||
|
|
||
|
#[derive(Clone, Debug, Deserialize)]
|
||
|
pub struct PostgresTlsConfig {
|
||
|
/// CA Cert file or env var
|
||
|
pub ca_cert_path: String,
|
||
|
/// PKCS12 client cert path
|
||
|
pub client_key_path: String,
|
||
|
}
|