commit 081c49d08e5da0bd73829b0278c754037cc034e6 from: murilo ijanc date: Sun Dec 7 03:35:06 2025 UTC Start cluster based login handler commit - 56353a840d3c0193dfb3b0f4b433668156a44b45 commit + 081c49d08e5da0bd73829b0278c754037cc034e6 blob - 27a3846d04bd7f1ecbc20b96792e43336afde4c2 blob + 642a800b6eaba03c8c9461394017e7a6e09938db --- kopsd/src/handler.rs +++ kopsd/src/handler.rs @@ -67,18 +67,39 @@ impl Handler { expires_at, }; - match self.state.aws_sessions.lock() { - Ok(mut map) => { - map.insert(req.name.clone(), session); - info!("stored AWS session for profile '{}'", req.name); - Response::LoginOk - } - Err(_) => Response::Error { - message: "failed to lock aws_sessions map".into(), - }, + { + let mut map = match self.state.aws_sessions.lock() { + Ok(m) => m, + Err(_) => { + return Response::Error { + message: "failed to lock aws_sessions map".into(), + }; + } + }; + + map.insert(req.name.clone(), session); + info!("stored AWS session for profile '{}'", req.name); } + + if let Err(err) = self.start_clusters_for_profile(&req.name).await { + return Response::Error { + message: format!( + "stored session but failed to start clusters for profile {}: {err}", + req.name + ), + }; + } + + Response::LoginOk } + async fn start_clusters_for_profile( + &self, + _profile: &str, + ) -> anyhow::Result<()> { + Ok(()) + } + async fn handle_env(&self, req: EnvRequest) -> Response { let cluster = req .cluster