Port Forwarding
Forward ports from any Kubernetes resource with one click — no terminal commands, no manual cleanup.
Overview
Port forwarding lets you access a service running inside your cluster on your local machine. This is essential for debugging, testing APIs, connecting to databases, and accessing admin dashboards that aren't publicly exposed.
With kubectl port-forward, you have to remember the exact command syntax, keep a terminal open, and restart the forward every time it drops. Krust replaces all of that with a visual interface that manages connections automatically.
Quick Start
- Navigate to any resource that exposes ports — Pods, Deployments, StatefulSets, DaemonSets, or Services.
- Right-click the resource and select Port Forward, or use the toolbar button.
- Krust reads the container spec and presents the available ports. Select the port you want to forward and choose a local port (or accept the suggested one).
- Click Start. The connection opens immediately and, if configured, your browser launches to the forwarded address.
Active port forwards appear in the menu bar and in the port-forward management panel, where you can stop, restart, or bookmark them.
Features
Smart Port Detection
Krust reads container port definitions directly from the resource spec. When you initiate a port forward, the available ports are pre-populated — no need to look up port numbers manually. Named ports are displayed alongside their numbers for clarity.
Auto-Open Browser
For HTTP services, Krust can automatically open your default browser pointed at the forwarded address as soon as the connection is ready. This is especially useful for web UIs, dashboards, and API documentation endpoints.
Auto-Reconnect
Network interruptions, pod restarts, and cluster hiccups happen. When a port forward drops, Krust detects the disconnection and re-establishes the tunnel automatically. No manual intervention required — the connection simply recovers.
When forwarding from a Service or workload (Deployment, StatefulSet, DaemonSet), Krust automatically re-resolves to a new backing pod if the original pod is evicted or restarted. It uses the service selector or workload labels to find a healthy replacement, retrying with backoff for up to 30 seconds. Direct pod forwards reconnect to the same pod on transient network failures.
Persist & Restore
Port forwards survive app restarts. When you quit and relaunch Krust, your previously active forwards are restored and reconnected. This is particularly valuable for long-lived development tunnels like database connections or backend APIs you access throughout the day.
Multiple Concurrent Forwards
Run as many port forwards as you need simultaneously. Forward your database on one port, your API on another, and a monitoring dashboard on a third — all managed from a single interface.
Bookmarks
Save frequently used port forwards as bookmarks for quick access. Instead of navigating to a resource and configuring the forward each time, open a bookmark and connect in one click. Bookmarks store the resource, port mapping, and your preferences.
Connection Status Tracking
Every active forward shows a real-time status indicator:
- Ready — the tunnel is active and traffic is flowing
- Connecting — the connection is being established or re-established
- Error — the forward failed, with details on what went wrong
Menu Bar Controls
Active port forwards are accessible from the macOS menu bar. You can see all running forwards at a glance and stop or restart any of them without switching away from your current view.
Individual Stop & Start
Each port forward can be stopped and started independently. Pause a forward you don't need right now without tearing down everything else. Resume it later with the same configuration.
Krust vs. kubectl port-forward
| Capability | Krust | kubectl port-forward |
|---|---|---|
| Start a forward | Right-click, select port, done | Type full command with namespace, resource, and ports |
| Port discovery | Ports auto-detected from spec | Look up ports manually |
| Reconnect on drop | Automatic | Command exits — restart manually |
| Survive app restart | Forwards persist and restore | Gone when terminal closes |
| Bookmarks | Save and recall with one click | Shell aliases or scripts |
| Multiple forwards | Managed in a single panel | One terminal window per forward |
| Status visibility | Live status indicators and menu bar | Terminal output only |
| Browser integration | Auto-open on connect | Open browser manually |
Tips
- Database access — Forward your PostgreSQL or MySQL port and connect with your favorite database client. Bookmark it so you can reconnect instantly after a cluster switch.
- Microservice debugging — Forward multiple services at once to reproduce a full request flow locally. The status indicators help you confirm all tunnels are up before testing.
- Dashboard access — For web UIs like Grafana, Kibana, or custom admin panels, enable auto-open browser so the dashboard appears as soon as the forward is ready.
- Shared configurations — Use bookmarks to standardize port mappings across your team. Everyone uses the same local ports, avoiding confusion in documentation and scripts.
- Service-level forwarding — Forward from a Service rather than a specific Pod when you want the tunnel to survive pod restarts and rescheduling. Krust handles the underlying pod resolution automatically.