kftray is a system tray application developed with Tauri, Rust, React, Vite, and Chakra UI designed for Kubernetes users. It simplifies the process of initiating and supervising multiple port forwarding configurations through a user-friendly interface.
- Logo generated by Dall-E
Using kftray
comes with the following benefits:
- Resilient Port Forwarding Connection: Ensures continuous service even if a pod dies by reconnecting to another running pod automatically.
- One-Click Multiple Port Forwards: Set up several port forwarding instances at the same time with a single click, saving time and effort.
- Independent of Kubectl: Interfaces directly with the Kubernetes API, eliminating the need for
kubectl
and simplifying port forwarding management.
Stay tuned for more features as we continue to enhance kftray
for an even better Kubernetes management experience.
- Node.js and pnpm or yarn for building the frontend.
- Rust for backend development.
To build kftray
from source, follow these steps:
- Clone the repository:
git clone https://github.com/hcavarsan/kftray.git
- Navigate to the cloned directory:
cd kftray
- Install Typescript dependencies and build the React application:
pnpm install # or yarn install pnpm run build # or yarn build
- Build the Tauri application:
pnpm run tauri build
After building the application, use the following steps to run the application:
- Navigate to the
src-tauri/target/release/
directory. - Execute the binary for your platform (
kftray.exe
on Windows,./kftray
on macOS and Linux). - The application will appear in the system tray.
- Click the tray icon to open the UI for starting or stopping Kubernetes port forwarding based on your configurations.
The UI allows you to add, remove, and edit port-forwarding settings with ease. Configurations are saved at $HOME/.kftray/configs.db by default.
Contributions are welcome! Feel free to submit pull requests, create issues, or offer suggestions to improve kftray.
KFtray
is open-source software licensed under the MIT License. For more details, see the LICENSE file included with this project.