use std::time::Duration; #[derive(Debug, Clone)] pub struct GitSshConfig { pub bind_addr: String, pub port: u16, pub host_key_path: String, pub git_storage_root: String, pub max_sessions: usize, pub banner: Option, pub auth_rejection_time: Duration, pub inactivity_timeout: Option, pub keepalive_interval: Duration, pub keepalive_max: u32, } impl Default for GitSshConfig { fn default() -> Self { Self { bind_addr: "0.0.0.0".to_string(), port: 2222, host_key_path: "/etc/gitssh/ssh_host_ed25519_key".to_string(), git_storage_root: "/var/lib/repo/git".to_string(), max_sessions: 32, banner: None, auth_rejection_time: Duration::from_secs(1), inactivity_timeout: Some(Duration::from_secs(300)), keepalive_interval: Duration::from_secs(30), keepalive_max: 3, } } }