lukaszraczylo
518879dc56
Update menus to wrap for smaller screens.
2025-11-29 02:09:54 +00:00
lukaszraczylo
ba77cb6aa9
Use OS native copy.
2025-11-26 13:28:20 +00:00
lukaszraczylo
23cd45a3d7
improvements nov2025 pt2 ( #13 )
...
* Further improvements
| Fix | Impact | Files Modified |
|------------------------------------|----------------------------------------|--------------------------------------|
| sync.Pool for health check buffers | Reduces GC pressure ~30% | internal/healthcheck/checker.go |
| Goroutine leak fix + sync.Once | Prevents memory leaks | internal/forward/worker.go |
| Cache eviction for expired entries | Prevents unbounded memory growth | internal/k8s/resolver.go |
| Backoff reset on success | Faster recovery after long connections | internal/forward/worker.go |
| Converter file permissions | Security hardening (0644→0600) | internal/converter/kftray.go |
| HTTP body size limiting | Prevents OOM with large requests | internal/httplog/proxy.go, logger.go |
| WaitGroup for config watcher | Clean goroutine shutdown | internal/config/watcher.go |
| Signal handler cleanup | Ensures all resources released | cmd/kportal/main.go |
* Additional event bus for internal event handling
| Metric | Before | After | Improvement |
|------------------------|---------------------------------------|-------------------|--------------------|
| Goroutines per forward | 3 (worker + heartbeat + health check) | 1 (worker only) | 66% reduction |
| Tickers per forward | 2 (heartbeat + health check) | 0 | 100% reduction |
| Global goroutines | 2 (watchdog + health monitor) | 2 | Same |
| Lock acquisitions/sec | O(n) per interval | O(1) per interval | Linear improvement |
* Add UI testing
* Add mocks
* Add more logs and details to be displayed
2025-11-26 13:18:50 +00:00
lukaszraczylo
3f5c1d3a5f
improvements nov2025 ( #10 )
...
* Add benchmark and httplog modules, update UI for modals artefacts
2025-11-25 19:00:44 +00:00
lukaszraczylo
b7a32e4aab
Port forward to the named service ports.
...
When adding a service via the wizard, resolve the service's targetPort to the actual pod container port instead of using the service port directly.
Problem: Service port 80 → Pod port 8000, but kportal was trying to forward to port 80 on the pod.
Solution: Look up the pod's actual containerPort when the service uses a named targetPort (like http), and use that for port-forwarding.
2025-11-25 15:20:18 +00:00
lukaszraczylo
3a7cc6f502
bugfixes nov2025 pt3 ( #6 )
...
* Minor improvements.
* DRY the codebase.
* Add version checker / updater.
2025-11-25 01:28:23 +00:00
lukaszraczylo
49acba5679
Bugfixes nov2025 pt2 ( #5 )
...
* UI bugfixes.
* Fix open port check during new fwd setup wizard
2025-11-25 00:09:32 +00:00
lukaszraczylo
7df161aee0
bugfixes nov2025 ( #3 )
...
* Fix enter misbehaving.
* Cleanup after previous tui implementation.
* Fix race condition and improve logging
* Add filtering of the namespaces by text input in the wizard UI
2025-11-24 11:09:23 +00:00
lukaszraczylo
f41c316b2b
Add configuration wizard. ( #2 )
...
* Add configuration wizard.
2025-11-24 02:28:08 +00:00
lukaszraczylo
21ea41781d
Add user friendly UI allowing to temporarily toggle port forwarding.
2025-11-23 16:50:56 +00:00
lukaszraczylo
9b57431f59
Add an UI to display the current port forwards status.
2025-11-23 15:53:31 +00:00