feature/kubernetes-management #70

Merged
sarman merged 4 commits from feature/kubernetes-management into master 2026-06-06 17:28:29 +00:00
4 changed files with 13 additions and 24 deletions
Showing only changes of commit 1a07a1bac4 - Show all commits

View File

@ -337,7 +337,9 @@ pub async fn initiate_oauth(
pending_approvals,
clusters: Arc::new(tokio::sync::Mutex::new(std::collections::HashMap::new())),
port_forwards: Arc::new(tokio::sync::Mutex::new(std::collections::HashMap::new())),
refresh_registry: Arc::new(tokio::sync::Mutex::new(crate::kube::RefreshRegistry::new())),
refresh_registry: Arc::new(tokio::sync::Mutex::new(
crate::kube::RefreshRegistry::new(),
)),
};
while let Some(callback) = callback_rx.recv().await {
tracing::info!("Received OAuth callback for state: {}", callback.state);

View File

@ -61,12 +61,9 @@ pub async fn add_cluster(
}
#[tauri::command]
pub async fn remove_cluster(
id: String,
state: State<'_, AppState>,
) -> Result<(), String> {
pub async fn remove_cluster(id: String, state: State<'_, AppState>) -> Result<(), String> {
let mut clusters = state.clusters.lock().await;
if clusters.remove(&id).is_none() {
return Err(format!("Cluster {id} not found"));
}
@ -75,11 +72,9 @@ pub async fn remove_cluster(
}
#[tauri::command]
pub async fn list_clusters(
state: State<'_, AppState>,
) -> Result<Vec<ClusterInfo>, String> {
pub async fn list_clusters(state: State<'_, AppState>) -> Result<Vec<ClusterInfo>, String> {
let clusters = state.clusters.lock().await;
let cluster_list: Vec<ClusterInfo> = clusters
.values()
.map(|c| ClusterInfo {
@ -99,7 +94,7 @@ pub async fn start_port_forward(
state: State<'_, AppState>,
) -> Result<PortForwardResponse, String> {
let session_id = uuid::Uuid::now_v7().to_string();
let session = crate::kube::PortForwardSession::new(
session_id.clone(),
request.cluster_id.clone(),
@ -127,12 +122,9 @@ pub async fn start_port_forward(
}
#[tauri::command]
pub async fn stop_port_forward(
id: String,
state: State<'_, AppState>,
) -> Result<(), String> {
pub async fn stop_port_forward(id: String, state: State<'_, AppState>) -> Result<(), String> {
let mut port_forwards = state.port_forwards.lock().await;
if let Some(session) = port_forwards.get_mut(&id) {
session.stop();
Ok(())
@ -146,7 +138,7 @@ pub async fn list_port_forwards(
state: State<'_, AppState>,
) -> Result<Vec<PortForwardResponse>, String> {
let port_forwards = state.port_forwards.lock().await;
let forwards: Vec<PortForwardResponse> = port_forwards
.values()
.map(|s| PortForwardResponse {

View File

@ -6,12 +6,7 @@ pub struct ClusterClient {
}
impl ClusterClient {
pub fn new(
id: String,
name: String,
context: String,
server_url: String,
) -> Self {
pub fn new(id: String, name: String, context: String, server_url: String) -> Self {
Self {
id,
name,

View File

@ -1,6 +1,6 @@
use std::collections::HashMap;
use tokio::sync::RwLock;
use std::sync::Arc;
use tokio::sync::RwLock;
pub struct RefreshRegistry {
domains: HashMap<String, Domain>,