VSCode Extension
The KSail VSCode extension brings cluster management into your editor. It integrates with the VS Code Kubernetes extension to surface KSail clusters in the Cloud Explorer and Cluster Explorer, provides interactive wizards for cluster operations, a command palette with keyboard shortcuts, and a built-in MCP server for AI assistants.
Installation
Section titled βInstallationβ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)
- VS Code Kubernetes Tools extension (installed automatically as a dependency)
- K9s (optional β for
Connect to Clustercommand)
Features
Section titled βFeaturesβCloud Explorer Integration
Section titled βCloud Explorer IntegrationβKSail clusters appear as top-level entries under KSail in the Kubernetes extensionβs Clouds view. Each cluster shows its name, provider, and status icon. Right-click a cluster for context-sensitive actions:
- All clusters: Info, Start, Stop, Connect, Update, Switch, Backup, Restore, Delete
- From the KSail cloud node context menu: Create Cluster
Cluster Explorer Contributor
Section titled βCluster Explorer ContributorβIn the Kubernetes extensionβs Cluster Explorer, KSail-managed contexts are annotated with (KSail) and a status label (Running / Stopped / Unknown). Right-click a KSail context for the same cluster lifecycle actions.
Cluster Provider (Create Cluster Wizard)
Section titled βCluster Provider (Create Cluster Wizard)βSelecting Create Cluster β KSail in the Kubernetes extension opens an HTML-based wizard. Configuration options (distribution, provider, CNI, GitOps engine) are fetched at runtime from the KSail MCP schema so they stay in sync with the installed CLI version. Built-in fallback values are used when the MCP server is unreachable.
Interactive Wizards
Section titled βInteractive WizardsβThe Init and Create commands launch multi-step wizards with:
- Distribution selection: Vanilla, K3s, Talos, VCluster
- Provider selection: Docker, Hetzner, Omni
- Component configuration (CNI, CSI, GitOps engine, etc.)
- Output path selection for generated files
MCP Server
Section titled βMCP Serverβ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.
Commands
Section titled βCommandsβAccess all commands via the Command Palette (Cmd+Shift+P / Ctrl+Shift+P):
| Command | Description | Shortcut |
|---|---|---|
KSail: Init Cluster | Initialize a new ksail.yaml configuration | Cmd+Shift+K I |
KSail: Create Cluster | Create and start a cluster | Cmd+Shift+K C |
KSail: Update Cluster | Update a running cluster | β |
KSail: Start Cluster | Start an existing cluster | β |
KSail: Stop Cluster | Stop a running cluster | β |
KSail: Switch Cluster | Switch the active kubeconfig context | β |
KSail: Backup Cluster | Backup cluster resources | β |
KSail: Restore Cluster | Restore cluster resources from a backup | β |
KSail: Delete Cluster | Delete the cluster | Cmd+Shift+K D |
KSail: Connect to Cluster (K9s) | Open K9s terminal UI | β |
KSail: Show KSail Info | Show cluster info via KSail CLI | β |
KSail: Refresh Clusters | Refresh the Cloud Explorer and Cluster Explorer views (and clear cached status) | β |
KSail: Show Output | Open the KSail output channel | β |
Settings
Section titled βSettingsβConfigure in VSCode settings (Cmd+, / Ctrl+,) or settings.json:
| Setting | Description | Default |
|---|---|---|
ksail.binaryPath | Path to the KSail binary | ksail |
Development
Section titled βDevelopmentβBuilding
Section titled βBuildingβcd vscenpm cinpm run compilePackaging
Section titled βPackagingβnpx @vscode/vsce package --no-dependenciesTesting locally
Section titled βTesting locallyβ- Open the
vscefolder in VSCode - Press
F5to launch the Extension Development Host - Test commands from the Command Palette
Architecture
Section titled βArchitectureβvsce/βββ src/β βββ extension.ts # Entry point, command registrationβ βββ commands/β β βββ index.ts # Command handlers (command registry)β β βββ prompts.ts # Interactive wizard implementationsβ βββ ksail/β β βββ clusters.ts # KSail CLI wrapper functionsβ β βββ binary.ts # KSail binary discovery and executionβ β βββ kubectl.ts # kubectl wrapper for cluster status queriesβ β βββ index.ts # Module exportsβ βββ kubernetes/β β βββ cloudProvider.ts # Cloud Explorer tree providerβ β βββ clusterExplorerContributor.ts # Annotates KSail contexts in Cluster Explorerβ β βββ clusterProvider.ts # Create Cluster wizard (HTML-based)β β βββ contextNames.ts # Shared helpers for parsing kubeconfig context namesβ β βββ index.ts # Module exportsβ βββ mcp/β βββ serverProvider.ts # MCP server definition providerβ βββ schemaClient.ts # MCP schema client for KSailβ βββ index.ts # Module exportsβββ dist/ # Compiled outputβββ package.json # Extension manifestFurther Reading
Section titled βFurther Readingβ- Features β VSCode Extension β Feature overview
- MCP Server β MCP server setup and tool reference
- AI Chat Assistant β Terminal-based AI chat
- Installation Guide β Installation steps