feature/kubernetes-management #70

Merged
sarman merged 4 commits from feature/kubernetes-management into master 2026-06-06 17:28:29 +00:00
Owner
  • feat: add Kubernetes management support (v1.1.0)
  • fix(fmt): format code with cargo fmt
  • fix(workflow): remove duplicate else block in changelog generation
  • fix(changelog): only include current tag commits in release body
- feat: add Kubernetes management support (v1.1.0) - fix(fmt): format code with cargo fmt - fix(workflow): remove duplicate else block in changelog generation - fix(changelog): only include current tag commits in release body
sarman added 4 commits 2026-06-06 17:13:39 +00:00
- Update workflow to use --tag for generating release body
- This ensures CHANGELOG.md only shows commits since last tag
Merge branch 'master' into feature/kubernetes-management
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m22s
Test / frontend-typecheck (pull_request) Successful in 1m31s
PR Review Automation / review (pull_request) Successful in 3m18s
Test / rust-fmt-check (pull_request) Successful in 10m28s
Test / rust-clippy (pull_request) Successful in 12m7s
Test / rust-tests (pull_request) Successful in 13m50s
f88cc68fb9
sarman reviewed 2026-06-06 17:16:56 +00:00
sarman left a comment
Author
Owner

Automated PR Review (qwen3-coder-next via liteLLM):\n\nSummary
This PR introduces Kubernetes management functionality, including cluster and port forwarding management, but contains critical issues: an uninitialized field in AppState for refresh_registry, and a mismatch in the Tauri command handler registration (refresh_registry field is present in spawned code but missing from AppState definition), leading to potential runtime panics or data corruption.

Findings

  • [BLOCKER] src-tauri/src/commands/integrations.rs:319-328 - The AppState used inside the OAuth callback spawned task initializes refresh_registry, but AppState struct (as defined in src-tauri/src/state.rs, confirmed via the registry in src-tauri/src/kube/refresh.rs being used) is not shown to contain this field. Since refresh_registry is accessed in the AppState constructor inside the spawned task but not declared in AppState, this will fail to compile or cause runtime unsoundness.
    Evidence:
    let app_state_for_callback = AppState {
        db,
        settings,
        app_data_dir,
        integration_webviews,
        mcp_connections,
        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(),
        )),
    };
    
    Fix: Either add pub refresh_registry: Arc<Mutex<RefreshRegistry>> to AppState in src-tauri/src/state.rs, or remove refresh_registry initialization if it's unused and not needed for OAuth callbacks.

Verdict: REQUEST CHANGES

Automated PR Review (qwen3-coder-next via liteLLM):\n\n**Summary** This PR introduces Kubernetes management functionality, including cluster and port forwarding management, but contains critical issues: an uninitialized field in `AppState` for `refresh_registry`, and a mismatch in the Tauri command handler registration (`refresh_registry` field is present in spawned code but missing from `AppState` definition), leading to potential runtime panics or data corruption. **Findings** - [BLOCKER] src-tauri/src/commands/integrations.rs:319-328 - The `AppState` used inside the OAuth callback spawned task initializes `refresh_registry`, but `AppState` struct (as defined in `src-tauri/src/state.rs`, confirmed via the registry in `src-tauri/src/kube/refresh.rs` being used) is not shown to contain this field. Since `refresh_registry` is accessed in the `AppState` constructor inside the spawned task but not declared in `AppState`, this will fail to compile or cause runtime unsoundness. Evidence: ```rust let app_state_for_callback = AppState { db, settings, app_data_dir, integration_webviews, mcp_connections, 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(), )), }; ``` Fix: Either add `pub refresh_registry: Arc<Mutex<RefreshRegistry>>` to `AppState` in `src-tauri/src/state.rs`, or remove `refresh_registry` initialization if it's unused and not needed for OAuth callbacks. **Verdict**: REQUEST CHANGES
sarman merged commit 65b15d9d77 into master 2026-06-06 17:28:29 +00:00
sarman deleted branch feature/kubernetes-management 2026-06-06 17:28:30 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sarman/tftsr-devops_investigation#70
No description provided.