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

  1. Navigate to any resource that exposes ports — Pods, Deployments, StatefulSets, DaemonSets, or Services.
  2. Right-click the resource and select Port Forward, or use the toolbar button.
  3. 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).
  4. 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:

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