Use kpf, a fast, idempotent drop-in replacement for kubectl port-forward that manages and reuses port-forward sessions. Use when a user needs repeatable Kubernetes port forwarding with quick startup.
Use this skill when you need to run Kubernetes port-forwarding commands.
kpf is a fast, idempotent, non-blocking, drop-in replacement for kubectl port-forward.
It manages background port-forward sessions and reuses them for identical requests,
which speeds up connection time and reduces complexity of port forwarding in scripts.
Example use cases:
Use kpf when running ad-hoc commands, but do NOT commit scripts that depend on kpf
as it's not a standard tool in the developer toolbox and may not be available in all environments.
Use kpf with the same argument style as kubectl port-forward.
Prefer using a random port (by omitting the local port), to avoid port conflicts.
Example usage:
PORT=$(kpf --context=<context> --namespace=<ns> service/<name> 8481)
curl "http://127.0.0.1:${PORT}/example"
If you want the kpf session to be kept alive indefinitely, use kubectl port-forward instead,
since kpf sessions have a TTL.
If you run into issues with the kpf tool itself, first try kubectl port-forward
with the same arguments to verify that the issue is with kpf and not your cluster or network.
Then consult https://github.com/bduffany/kpf/blob/main/README.md for more technical details
that may help with debugging.