44
55use std:: { collections:: HashMap , fmt, fs, path:: Path } ;
66
7+ use better_default:: Default ;
78use openssl:: ssl:: SslVersion ;
89use serde:: {
910 de:: { self , Visitor } ,
@@ -14,7 +15,7 @@ use serde_json::Value;
1415use crate :: errors:: RvError ;
1516
1617/// A struct that contains several configurable options of RustyVault server
17- #[ derive( Debug , Clone , Serialize , Deserialize ) ]
18+ #[ derive( Debug , Clone , Default , Serialize , Deserialize ) ]
1819pub struct Config {
1920 #[ serde( deserialize_with = "validate_listener" ) ]
2021 pub listener : HashMap < String , Listener > ,
@@ -41,12 +42,14 @@ pub struct Config {
4142 #[ serde( default = "default_hmac_level" ) ]
4243 pub mount_entry_hmac_level : MountEntryHMACLevel ,
4344 #[ serde( default = "default_mounts_monitor_interval" ) ]
45+ #[ default( 5 ) ]
4446 pub mounts_monitor_interval : u64 ,
4547}
4648
47- #[ derive( Debug , Copy , Clone , Serialize , Deserialize , PartialEq ) ]
49+ #[ derive( Debug , Copy , Clone , Default , Serialize , Deserialize , PartialEq ) ]
4850#[ serde( rename_all = "lowercase" ) ]
4951pub enum MountEntryHMACLevel {
52+ #[ default]
5053 None ,
5154 Compat ,
5255 High ,
0 commit comments