kellnr_settings/
postgresql.rs1use clap_serde_derive::ClapSerde;
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, ClapSerde)]
13#[serde(default)]
14pub struct Postgresql {
15 #[default(false)]
17 #[arg(id = "postgresql-enabled", long = "postgresql-enabled")]
18 pub enabled: bool,
19
20 #[default(default_pg_address())]
22 #[arg(id = "postgresql-address", long = "postgresql-address")]
23 pub address: String,
24
25 #[default(5432)]
27 #[arg(id = "postgresql-port", long = "postgresql-port")]
28 pub port: u16,
29
30 #[default(default_pg_db())]
32 #[arg(id = "postgresql-db", long = "postgresql-db")]
33 pub db: String,
34
35 #[default(String::new())]
37 #[arg(id = "postgresql-user", long = "postgresql-user")]
38 pub user: String,
39
40 #[default(String::new())]
42 #[serde(skip_serializing, default)]
43 #[arg(id = "postgresql-pwd", long = "postgresql-pwd")]
44 pub pwd: String,
45}