kftray

0

manage and run multiple kubectl port-forward configurations directly in the menu bar, syncing configurations with git repositories.

Productivity

react
port-forwarding
port-forward
kubernetes

KFtray and KFtui are independent, cross-platform applications. They help you set up and manage multiple port-forwarding settings easily. Both apps are part of the same open-source project and aim to make working with Kubernetes easier. KFtray has a desktop interface, while KFtui has a terminal interface, so you can choose the one that suits you best.

KFtray

Watch the video

KFtui

Watch the video

โ“ Why

KFtray and KFtui were made to fix common problems with Kubernetes port forwarding. The usual kubectl port-forward command can be unreliable. For example, if a pod dies, it needs manual reconnection. It also has trouble setting up many port forwards at once and doesn't support UDP services.

KFtray and KFtui solve these issues by being more reliable and easier to use. They automatically reconnect to running pods if one fails, allow setting up multiple port forwards with one click, and support both TCP and UDP protocols. KFtray also has extra features like HTTP logs tracing and GitHub sync to make workflows smoother.

๐Ÿ“‘ Table of Contents

โœจ Features

  • Resilient Port Forwarding Connection: Ensures continuous service even if a pod dies by reconnecting to another running pod automatically.
  • One-Click Multiple Port Forwards: Allows for the setup of several port forwarding instances simultaneously with a single click.
  • Independent of Kubectl: Directly interfaces with the Kubernetes API, eliminating the need for kubectl.
  • Multi-Protocol Support: Enables access to internal or external servers through a Proxy Relay server deployed in a Kubernetes cluster, including TCP and UDP port forwarding.
  • HTTP Logs Tracing: Enable or disable HTTP logs for specific configurations to save the requests and responses in a local log file. (Currently available only in the KFtray desktop app) - Blog Post
  • GitHub Sync: Keep your configurations saved on GitHub and share or synchronize them in a GitOps style. (Currently available only in the KFtray desktop app)

๐Ÿ—‚ Features Matrix

FeatureKFtray (Desktop App)KFtui (Terminal UI)
Resilient Port Forwarding Connectionโœ”๏ธโœ”๏ธ
One-Click Multiple Port Forwardsโœ”๏ธโœ”๏ธ
Independent of Kubectlโœ”๏ธโœ”๏ธ
Multi-Protocol Support (TCP/UDP)โœ”๏ธโœ”๏ธ
HTTP Logs Tracingโœ”๏ธโŒ (Coming Soon)
GitHub Syncโœ”๏ธโŒ (Coming Soon)
Local JSON File Configurationโœ”๏ธโœ”๏ธ

๐Ÿ›  Installation

๐Ÿ“š Usage

๐Ÿ› ๏ธ Build from source

๐Ÿ— Architecture

For an overall architectural review, check ARCH.md.

๐Ÿ‘ฅ Contributing

  • Pull Requests: Feel free to create pull requests for bug fixes, new features, or improvements.
  • Issues: Report bugs, suggest new features, or ask questions.
  • Feedback: Your feedback helps improve kftray.

๐Ÿ“„ License

KFtray is available under the MIT License. See the LICENSE file for full details.

Star History

Star History Chart

Contributors โœจ

Thanks goes to these wonderful people (emoji key):

Henrique Cavarsan
Henrique Cavarsan

๐Ÿ’ป
Filipe Andujar
Filipe Andujar

๐Ÿ’ป
Ikko Eltociear Ashimine
Ikko Eltociear Ashimine

๐Ÿ’ป

This project follows the all-contributors specification. Contributions of any kind welcome!