KFtray - A tray application that manages port forwarding in Kubernetes.

Overview

node version tauri version react version rust version

KFtray

A tray application that manages port forwarding in Kubernetes.

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.

kftray demo

Download for macOS · Download for Windows · Download for Linux


  • Logo generated by Dall-E

Features

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.

Requirements

  • Node.js and pnpm or yarn for building the frontend.
  • Rust for backend development.

Installation

Building from Source

To build kftray from source, follow these steps:

  1. Clone the repository:
    git clone https://github.com/hcavarsan/kftray.git
  2. Navigate to the cloned directory:
    cd kftray
  3. Install dependencies
    pnpm install
  4. Run the application in development mode:
    pnpm run tauri dev

Usage

After building the application, use the following steps to run the application:

  1. Navigate to the src-tauri/target/release/ directory.
  2. Execute the binary for your platform (kftray.exe on Windows, ./kftray on macOS and Linux).
  3. The application will appear in the system tray.
  4. Click the tray icon to open the UI for starting or stopping Kubernetes port forwarding based on your configurations.

Configuration

The UI allows you to add, remove, and edit port-forwarding settings with ease. Configurations are saved at $HOME/.kftray/configs.db by default.

Contributing

Contributions are welcome! Feel free to submit pull requests, create issues, or offer suggestions to improve kftray.

License

KFtray is open-source software licensed under the MIT License. For more details, see the LICENSE file included with this project.

You might also like...
Kubernetes + wasmCloud
Kubernetes + wasmCloud

KasmCloud Managing and Running Actors, Providers, and Links in Kubernetes ⚠️ Warning This is a contributor-led experimental project and is not recomme

A cross-platform serial port library in Rust.

Introduction serialport-rs is a general-purpose cross-platform serial port library for Rust. It provides a blocking I/O interface and port enumeration

A port of OxidGB to the Raspberry Pi Pico

OxidGB Pico Port This is a simple, display-only (for now) port of OxidGB to the Raspberry Pi Pico. Note that this by default overclocks your device -

Repo for Monaco, a DCA engine for Solana. Built on Solend and lending protocols (Jet, Solend, Port, etc...)
Repo for Monaco, a DCA engine for Solana. Built on Solend and lending protocols (Jet, Solend, Port, etc...)

Monaco Monaco is a DCA protocol for solana built on top of Serum and compatible with any program that implements or extends the instruction interface

A Rust port of parinfer.

parinfer-rust Infer parentheses for Clojure, Lisp and Scheme. https://github.com/eraserhd/parinfer-rust A full-featured, super fast implementation of

⚡️ Fast MagicString port driven by Rust and N-API

magic-string-rs 100% API compatible (port) MagicString by Rich-Harris implementation for Node and modern browsers, also, for rust, of course. Installa

Quickly mint NFT(able)s port forwards remotely

Easy expose A really simple way to expose some service behind a NAT, similar to rathole and frp. WARNING: This does not secure the channel, or even do

📦 Port of tauri-bundler

📦 Port of tauri-bundler You can now easily create installers for your Deno apps, thanks to the amazing work of Tauri 💪

Log defmt messages over the serial port.
Log defmt messages over the serial port.

defmt-serial A defmt target for logging over a serial port. Messages can e.g. be read using socat and passed through defmt-print, see example-artemis

Comments
  • clear add config input fields after a item added

    clear add config input fields after a item added

    How to reproduce:

    • Click on add config button
    • Input port forward information
    • Click on add config
    • Check that the item was added
    • Click on add config button again

    Expected:

    All input fields cleaned to input a new port-forward.

    opened by fandujar 2
  • feat: general improvements and tests

    feat: general improvements and tests

    • removed unused dependencies
    • configured lint and fmt with eslint and prettier
    • add a vitest sample test in App.tsx
    • fixed format issues
    • fixed lint issues
    opened by hcavarsan 0
Releases(v0.2.5)
Owner
Henrique Cavarsan
Site Reliability Engineer on @totvslabs
Henrique Cavarsan
A cross-platform serial port library in Rust. Provides a blocking I/O interface and port enumeration including USB device information.

Note: This is a fork of the original serialport-rs project on GitLab. Please note there have been some changes to both the supported targets and which

Serialport 128 Jan 4, 2023
Detects orphan configmaps and secrets in a Kubernetes cluster

KubExplorer Warning: Proof of concept. Feedback is much welcome. Discovers and prints out any Configmaps and Secrets not linked to any of the followin

Pavel Pscheidl 56 Oct 21, 2022
A crate to implement leader election for Kubernetes workloads in Rust.

Kubernetes Leader Election in Rust This library provides simple leader election for Kubernetes workloads.

Hendrik Maus 33 Dec 29, 2022
💫 Small microservice to handle state changes of Kubernetes pods and post them to Instatus or Statuspages

?? Kanata Small microservice to handle state changes of Kubernetes pods and post to Instatus ?? Why? I don't really want to implement and repeat code

Noel ʕ •ᴥ•ʔ 4 Mar 4, 2022
kubernetes openapi unmangler

kopium A kubernetes openapi unmangler. Creates rust structs from a named crd by converting the live openapi schema. ⚠️ WARNING: ALPHA SOFTWARE ⚠️ Inst

kube-rs 48 Jan 3, 2023
Continuous Delivery for Declarative Kubernetes, Serverless and Infrastructure Applications

Continuous Delivery for Declarative Kubernetes, Serverless and Infrastructure Applications Explore PipeCD docs » Overview PipeCD provides a unified co

PipeCD 650 Dec 29, 2022
Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.

Linkerd ?? Welcome to Linkerd! ?? Linkerd is an ultralight, security-first service mesh for Kubernetes. Linkerd adds critical security, observability,

Linkerd 9.2k Jan 1, 2023
Northstar is a horizontally scalable and multi-tenant Kubernetes cluster provisioner and orchestrator

Northstar Northstar is a horizontally scalable and multi-tenant Kubernetes cluster provisioner and orchestrator. Explore the docs » View Demo · Report

Lucas Clerisse 1 Jan 22, 2022
Rust Kubernetes runtime helpers. Based on kube-rs.

kubert Rust Kubernetes runtime helpers. Based on kube-rs. Features clap command-line interface support; A basic admin server with /ready and /live pro

Oliver Gould 63 Dec 17, 2022
The last kubernetes tool you'll ever need.

Neatkube The last kubernetes tool you'll ever need. Kubernetes is a mess. Everthing ships it's own command line tools that you need to install and tra

git repositories with lazers 5 Aug 3, 2022