Kubernetes pod port forwarder tool - forwards local ports to pods matching a name pattern.

class ml_research_tools.kube.pod_forward_tool.PodForwardTool(services)[source]#

Bases: BaseTool

Tool for forwarding ports to Kubernetes pods matching a name pattern.

Initialize the tool with default values.

name: str = 'kube-pod-forward'#
description: str = 'Forward port to a Kubernetes pod with a specific name pattern.'#
__init__(services)[source]#

Initialize the tool with default values.

Return type:

None

classmethod add_arguments(parser)[source]#

Add tool-specific arguments to the parser.

Return type:

None

Parameters:

parser (ArgumentParser)

run_kubectl_command(args)[source]#

Run a kubectl command and return the results.

Parameters:

args (List[str]) – Arguments to pass to kubectl

Return type:

Tuple[bool, str, str]

Returns:

Tuple of (success, stdout, stderr)

get_running_pods(namespace)[source]#

Get list of running pods in a namespace.

Parameters:

namespace (str) – Kubernetes namespace

Return type:

List[str]

Returns:

List of pod names

find_pod_by_pattern(namespace, pattern)[source]#

Find a pod by pattern in a namespace.

Parameters:
  • namespace (str) – Kubernetes namespace

  • pattern (str) – Pattern to match pod names against

Return type:

Optional[str]

Returns:

Matched pod name or None

forward_port(namespace, pod_name, local_port, remote_port)[source]#

Forward a local port to the pod.

Parameters:
  • namespace (str) – Kubernetes namespace

  • pod_name (str) – Name of the pod to forward to

  • local_port (int) – Local port to forward

  • remote_port (int) – Remote port on the pod

Return type:

int

Returns:

0 for success, non-zero for error

display_pod_table(all_pods, matching_pod=None)[source]#

Display a table of available pods with the matching one highlighted.

Parameters:
  • all_pods (List[str]) – List of all pod names

  • matching_pod (Optional[str]) – The pod that matches the pattern (if any)

execute(config, args)[source]#

Execute the port forwarding with the provided arguments.

Parameters:

args (Namespace) – Parsed command-line arguments

Return type:

int

Returns:

Exit code (0 for success, non-zero for error)