kellnr_settings/
postgresql.rs1use provcfg::{ClapArgs, Configurable};
2use serde::{Deserialize, Serialize};
3
4fn default_pg_address() -> String {
5 "localhost".to_string()
6}
7
8fn default_pg_db() -> String {
9 "kellnr".to_string()
10}
11
12#[derive(Debug, Deserialize, Serialize, Eq, PartialEq, Clone, Configurable, ClapArgs)]
13#[serde(default)]
14#[configurable(clap_prefix = "postgresql")]
15pub struct Postgresql {
16 pub enabled: bool,
18
19 pub address: String,
21
22 pub port: u16,
24
25 pub db: String,
27
28 pub user: String,
30
31 #[serde(skip_serializing, default)]
33 #[configurable(secret)]
34 pub pwd: String,
35
36 #[serde(skip_serializing, default)]
38 #[configurable(secret)]
39 pub connection_string: Option<String>,
40}
41
42impl Default for Postgresql {
43 fn default() -> Self {
44 Self {
45 enabled: false,
46 address: default_pg_address(),
47 port: 5432,
48 db: default_pg_db(),
49 user: String::new(),
50 pwd: String::new(),
51 connection_string: None,
52 }
53 }
54}