@@ -137,31 +137,40 @@ def __assert__(self) -> None | NoReturn:
137137 Fernet (self .vault_secret )
138138
139139
140- def getenv (* args , default : str = None ) -> str :
140+ def getenv (* args , default : str | None = None ) -> str | None :
141141 """Returns the key-ed environment variable or the default value."""
142142 for key in args :
143- if value := os .environ . get (key .upper ()) or os .environ . get (key .lower ()):
143+ if value := os .getenv (key .lower ()) or os .getenv (key .upper ()):
144144 return value
145145 return default
146146
147147
148- def resolve_secrets (try_aws : bool ) -> EnvConfig | NoReturn :
148+ def resolve_secrets (
149+ aws : bool ,
150+ vault_server : str | None = None ,
151+ vault_apikey : str | None = None ,
152+ vault_secret : str | None = None ,
153+ vault_transit_time_bucket : int | None = None ,
154+ vault_transit_key_length : int | None = None ,
155+ ) -> EnvConfig | NoReturn :
149156 """Tries to retrieve the required secret from environment variable or AWS parameter or the AWS secrets manager."""
150157 base_env_vars = dict (
151- vault_server = getenv ("vault_server" , "server" ),
152- vault_apikey = getenv ("vault_apikey" , "apikey" ),
153- vault_secret = getenv ("vault_secret" , "secret" ),
154- vault_transit_time_bucket = getenv (
155- "vault_transit_time_bucket" , "transit_time_bucket" , default = "60"
158+ vault_server = vault_server or getenv ("vault_server" , "server" ),
159+ vault_apikey = vault_apikey or getenv ("vault_apikey" , "apikey" ),
160+ vault_secret = vault_secret or ("vault_secret" , "secret" ),
161+ vault_transit_time_bucket = (
162+ vault_transit_time_bucket
163+ or getenv ("vault_transit_time_bucket" , "transit_time_bucket" )
156164 ),
157- vault_transit_key_length = getenv (
158- "vault_transit_key_length" , "transit_time_bucket" , default = "32"
165+ vault_transit_key_length = (
166+ vault_transit_key_length
167+ or getenv ("vault_transit_key_length" , "transit_time_bucket" )
159168 ),
160169 )
161170 if all (base_env_vars .values ()):
162171 return EnvConfig (** base_env_vars )
163172 unsatisfied = [k for k , v in base_env_vars .items () if not v ]
164- if try_aws :
173+ if aws :
165174 aws_client = AWSClient ()
166175 resolved_env_vars = {
167176 ** base_env_vars ,
@@ -170,6 +179,10 @@ def resolve_secrets(try_aws: bool) -> EnvConfig | NoReturn:
170179 for k in unsatisfied
171180 },
172181 }
182+ if not resolved_env_vars .get ("vault_transit_time_bucket" ):
183+ resolved_env_vars ["vault_transit_time_bucket" ] = 60
184+ if not resolved_env_vars .get ("vault_transit_key_length" ):
185+ resolved_env_vars ["vault_transit_key_length" ] = 32
173186 if all (resolved_env_vars .values ()):
174187 return EnvConfig (** resolved_env_vars )
175188 unsatisfied = [k for k , v in resolved_env_vars .items () if not v ]
0 commit comments