using kftray gui
the desktop interface provides visual configuration management, system tray integration, and advanced features like http logging and github sync. understanding the interface workflow helps developers manage multiple port forwards efficiently.
interface overview and navigation
the system tray icon provides the primary interaction point for quick operations. right-clicking opens a context menu with active forwards and quick actions, while left-clicking opens the main configuration window.
the main window shows all configured port forwards with toggle switches for enabling/disabling each forward. configuration management, search, and filtering options appear in the top menu bar.
status indicators communicate forward state through color coding: green for active connections, red for stopped forwards, yellow during connection attempts, and error icons when problems occur.
configuration management workflow
creating new configurations starts with the "+" button or keyboard shortcut (Ctrl/Cmd + N). the configuration dialog requires service name, namespace, local port, remote port, and protocol selection. an alias helps identify the forward's purpose.
typical configuration for a web service might specify service "api-gateway", namespace "development", local port 8080, remote port 80, protocol "tcp", and alias "dev-gateway".
editing existing configurations uses the edit icon next to each entry. this opens the same dialog with current values populated for modification. changes take effect after saving, but active forwards need restart to use new settings.
deleting configurations works individually through the delete icon or in bulk by selecting multiple entries and using the bulk delete option. the system prompts for confirmation before removing configurations.
port forward management
starting individual forwards uses the toggle switch next to each configuration. the "Start All" button enables all configured forwards simultaneously, useful for establishing complete development environments. the system tray right-click menu provides shortcuts to frequently used forwards.
stopping forwards works through the same toggle switches, "Stop All" button, or tray menu options. only the interface that started a forward can stop it -- this prevents conflicts when multiple interfaces access the same configuration.
monitoring connection status helps identify problems quickly. green indicators show active forwards with established connections. red indicates stopped forwards. yellow appears during connection attempts or reconnection processes. error icons highlight forwards that failed to start or lost connection.
advanced functionality and features
http traffic logging captures request and response details for debugging complex interactions. enable logging for specific forwards through the configuration menu, then access captured traffic through the log viewer icon. this feature helps debug API calls and understand service communication patterns.
github sync coordinates configuration sharing across teams. configure repository access through settings, specify sync intervals, and enable automatic synchronization. this keeps team configurations current without manual file sharing.
auto import discovers services in kubernetes clusters and creates configuration suggestions. select the auto import option from the main menu, choose the target context, and review suggested configurations before importing. this speeds initial setup for new environments.
configuration and customization options
general settings control application behavior including auto-start at system boot, minimize-to-tray behavior, automatic update checking, and interface theme selection. these options adapt the interface to different usage patterns and system preferences.
kubernetes settings manage cluster connectivity including default context selection, custom kubeconfig file paths, namespace filtering for auto-import, and connection timeout values. proper kubernetes configuration ensures reliable cluster access.
github integration settings require repository URL, personal access token with appropriate permissions, sync interval timing, and auto-sync toggle. teams need repository access and token management policies for effective collaboration.
common workflow issues and solutions
connection failures typically involve kubernetes access problems, missing services, or insufficient permissions. verify cluster connectivity with kubectl commands, confirm service existence in the target namespace, and check RBAC permissions for port forwarding.
port conflicts occur when multiple applications bind to the same local port. identify conflicting processes using system tools, stop conflicting services, or choose different local ports in the configuration. teams benefit from establishing port assignment conventions.
sync issues usually involve github token permissions, repository access problems, or network connectivity. verify token scope includes repository access, test git clone operations with the same credentials, and check firewall or proxy settings that might block github access.
effective usage patterns
meaningful aliases communicate forward purpose clearly to team members. group related forwards by environment or service type for easier management. establish regular configuration backup procedures to prevent loss of complex setups. monitor system resource usage when running many concurrent forwards.
log management becomes important for teams using http logging extensively. configure log rotation or regular cleanup to prevent disk space issues. consider enabling logging selectively for debugging sessions rather than continuous monitoring.
efficient workflow habits include pinning frequently used forwards for quick access, learning keyboard shortcuts for common operations, and organizing configurations by namespace or environment. limiting active forwards prevents resource conflicts and improves system performance.
team collaboration works best with shared configuration repositories, documented port usage conventions, and consistent naming patterns. coordinate github sync timing to prevent conflicts when multiple team members modify configurations simultaneously.