Skip to content

VSCode Extension

The KSail VSCode extension brings cluster management into your editor. It provides a sidebar with live cluster status, interactive wizards for cluster operations, a command palette, keyboard shortcuts, and a built-in MCP server for AI assistants.

See the Installation Guide — VSCode Extension for Marketplace and VSIX installation steps.

Prerequisites:

  • KSail CLI installed and available in PATH
  • Docker running (for local cluster operations)
  • K9s (optional — for Connect to Cluster command)

The KSail sidebar panel lists your clusters with provider info and status indicators:

IconMeaning
Green pass icon (pass)Cluster is running
Red slash icon (circle-slash)Cluster is stopped
Server icon (server)Status unknown
Spinning loader (loading~spin)Cluster is being created

Right-click a cluster for context-sensitive actions:

  • All clusters: Connect to Cluster (K9s), Delete
  • Stopped / Unknown clusters: + Start
  • Running clusters: + Stop

The Cluster Status panel polls the active cluster every 10 seconds (configurable) and shows:

  • Health indicator: Healthy / Degraded / Error / Unknown
  • Pod summary: Pods grouped by namespace with running/pending/failed counts; click a failed or pending pod to view its logs
  • GitOps reconciliation: Flux or ArgoCD resource readiness (e.g., Flux (3/3 ready))

When no cluster is connected, the panel prompts you to create or start one.

A compact health indicator appears in the bottom status bar:

StateDisplay
Healthy✔ KSail: Healthy
Degraded⚠ KSail: Degraded (warning background)
Error✖ KSail: Error (error background)
Unknown? KSail: Unknown
No cluster? KSail: No Cluster

Click the status bar item to manually refresh cluster status.

The Init and Create commands launch multi-step wizards. Option lists are fetched at runtime from the KSail MCP schema, so they automatically stay in sync with the installed CLI version. If the MCP server is unreachable, a built-in fallback set is used:

  • Distribution: Vanilla, K3s, Talos (VCluster available when MCP schema is reachable)
  • Provider: Docker, Hetzner (Omni available when MCP schema is reachable)
  • Component configuration (CNI, CSI, GitOps engine, etc.)
  • Output path selection for generated files

The extension exposes KSail as an MCP server for AI assistants in VSCode (e.g., GitHub Copilot). No separate configuration is needed — the extension handles server lifecycle automatically. See MCP Server for details on available tools.

Access all commands via the Command Palette (Cmd+Shift+P / Ctrl+Shift+P):

CommandDescriptionShortcut
KSail: Init ClusterInitialize a new ksail.yaml configurationCmd+Shift+K I
KSail: Create ClusterCreate and start a clusterCmd+Shift+K C
KSail: Delete ClusterDelete the clusterCmd+Shift+K D
KSail: Start ClusterStart an existing cluster
KSail: Stop ClusterStop a running cluster
KSail: Connect to Cluster (K9s)Open K9s terminal UI
KSail: Refresh ClustersRefresh the clusters tree view
KSail: Refresh Cluster StatusManually refresh cluster status
KSail: Show OutputOpen the KSail output channel

Configure in VSCode settings (Cmd+, / Ctrl+,) or settings.json:

SettingDescriptionDefault
ksail.binaryPathPath to the KSail binaryksail
ksail.statusPollingIntervalCluster status polling interval in seconds (5–300)10
Terminal window
cd vsce
npm ci
npm run compile
Terminal window
npx @vscode/vsce package --no-dependencies
  1. Open the vsce folder in VSCode
  2. Press F5 to launch the Extension Development Host
  3. Test commands from the Command Palette