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