lukaszraczylo
6cb4f91ece
Cleanup and refactor.
2025-12-14 18:17:20 +00:00
lukaszraczylo
d9888f1a56
Cleanup ( #14 )
...
* Codebase cleanup
2025-12-09 01:06:38 +00:00
lukaszraczylo
a297ba7073
Enhancement: Empty config
...
When user starts kportal for the first time, and there is no config file,
kportal should create an empty config file with default values and empty
forwarding rules, so that user can easily edit the config file and add their
own rules.
2025-11-29 12:44:33 +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
035b1cdd01
Fix issue with tests failing due to test-related race conditions.
2025-11-25 17:10:44 +00:00
lukaszraczylo
1167847fd4
bugfixes nov2025 pt4 ( #7 )
...
* Add mDNS resolution.
* Update the website and documentation
2025-11-25 11:14:33 +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
39fe4286b4
Fix the watchdog being too aggressive.
2025-11-24 13:19:44 +00:00
lukaszraczylo
2fdc5912e7
healtcheck improvements ( #4 )
...
* Advanced healtchecks.
* Add watchdog for stale connections handling.
2025-11-24 13:00:19 +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
112969b82a
Add active healtchecks to verify the connectivity.
2025-11-23 15:56:57 +00:00
lukaszraczylo
9b57431f59
Add an UI to display the current port forwards status.
2025-11-23 15:53:31 +00:00
lukaszraczylo
f50f0a9b49
WIP - before the testing.
2025-11-23 15:24:51 +00:00