Kubectl ControlA VS Code extension for managing multiple Kubernetes clusters with isolated kubeconfig terminals — directly inside VS Code. FeaturesConnection Management
Cluster Terminal
Quick Switch (
|
| Action | Description |
|---|---|
| Export (encrypted) | Export all connections as an encrypted JSON file |
| Import | Import connections from a file |
| Enable password lock | Prompt for a password on open |
| Change password | Replace the current password |
| Disable password lock | Remove the lock |
| Lock now | Lock immediately (only when lock is active) |
| Show debug logs | Open the Output panel with extension logs |
| Reset application | Delete everything (double confirmation required) |
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Ctrl+Shift+K / Cmd+Shift+K |
Quick Switch — open or focus a cluster terminal |
Debugging & Logging
Logs are written to the VS Code Output panel under "Kubectl Control".
Open via:
- Settings menu → Show debug logs
- Command palette (
Ctrl+Shift+P) →Kubectl Control: Show Debug Logs
Logs include timestamps, level (INFO, WARN, ERROR) and full stack traces for errors.
Data Storage
| What | Where |
|---|---|
| Cluster connections (kubeconfig) | VS Code SecretStorage (local, encrypted) |
| Temporary kubeconfig files | os.tmpdir()/kubectl-control-ext/kubeconfig-<id>.yaml (deleted on terminal close) |
| Setup state | VS Code globalState |
| Password hash + salt | VS Code SecretStorage |
Technical Details
- Encryption: AES-256-GCM via Node.js
node:crypto - Key derivation: PBKDF2-SHA256, 200,000 iterations, random salt per export
- Password verification:
crypto.timingSafeEqualto prevent timing attacks - Storage: VS Code
SecretStorage(OS keychain / encrypted local storage) - Bundle: Webpack — no external runtime dependencies except
uuid
Requirements
- VS Code 1.80.0 or later
kubectlmust be available inPATH(used by the opened terminals)
License
MIT — see LICENSE