diff --git a/src/config/loading/secret.rs b/src/config/loading/secret.rs index cbf1134216d0b..59c10b43bb936 100644 --- a/src/config/loading/secret.rs +++ b/src/config/loading/secret.rs @@ -59,25 +59,24 @@ impl SecretBackendLoader { let mut secrets: HashMap<String, String> = HashMap::new(); for (backend_name, keys) in &self.secret_keys { - let backend = self.backends.get_mut(&ComponentKey::from(backend_name.clone())).ok_or_else(|| format!("Backend \"{backend_name}\" is required for secret retrieval but was not found in config."))?; + let backend = self.backends + .get_mut(&ComponentKey::from(backend_name.clone())) + .ok_or_else(|| { + format!("Backend \"{backend_name}\" is required for secret retrieval but was not found in config.") + })?; debug!(message = "Retrieving secrets from a backend.", backend = ?backend_name, keys = ?keys); let backend_secrets = backend .retrieve(keys.clone(), signal_rx) - .map_ok(|backend_secrets| { - backend_secrets.into_iter().map(|(k, v)| { - trace!(message = "Successfully retrieved a secret.", backend = ?backend_name, key = ?k); - (format!("{backend_name}.{k}"), v) - }).collect::<HashMap<String, String>>() - }) .map_err(|e| { - format!( - "Error while retrieving secret from backend \"{backend_name}\": {e}.", - ) + format!("Error while retrieving secret from backend \"{backend_name}\": {e}.",) }) .await?; - secrets.extend(backend_secrets); + for (k, v) in backend_secrets { + trace!(message = "Successfully retrieved a secret.", backend = ?backend_name, key = ?k); + secrets.insert(format!("{backend_name}.{k}"), v); + } } Ok(secrets)