Commit Graph

66 Commits

Author SHA1 Message Date
lukaszraczylo 0f977683cd Update go.mod and go.sum (#23) v0.2.66 2025-12-21 03:39:29 +00:00
lukaszraczylo dcebdf718a Update go.mod and go.sum (#22) v0.2.65 2025-12-20 03:32:25 +00:00
lukaszraczylo 5967f26c21 Update go.mod and go.sum (#21) v0.2.64 2025-12-19 03:37:51 +00:00
lukaszraczylo 285ced6755 fixup! Update go.mod and go.sum (#20) v0.2.63 2025-12-18 09:38:02 +00:00
lukaszraczylo 9fe076acb2 Update go.mod and go.sum (#20) v0.2.62 2025-12-18 03:37:26 +00:00
lukaszraczylo 92746efcf5 Update go.mod and go.sum (#19) v0.2.61 2025-12-15 03:40:40 +00:00
lukaszraczylo 391bce366d fixup! fixup! Add artifacts signing. v0.2.60 2025-12-15 00:16:16 +00:00
lukaszraczylo 9fd8f9b03b fixup! Add artifacts signing. v0.2.59 2025-12-14 23:56:42 +00:00
lukaszraczylo 7032bb5bee Add artifacts signing. v0.2.58 2025-12-14 23:29:27 +00:00
lukaszraczylo 6cb4f91ece Cleanup and refactor. v0.2.57 2025-12-14 18:17:20 +00:00
lukaszraczylo 5d600043f0 Update go.mod and go.sum (#18) v0.2.56 2025-12-13 03:32:36 +00:00
lukaszraczylo 9bb6fbc48d Update go.mod and go.sum (#17) v0.2.55 2025-12-12 03:38:34 +00:00
lukaszraczylo f4334ebdc9 Update go.mod and go.sum (#16) v0.2.54 2025-12-11 03:38:45 +00:00
lukaszraczylo 50f94bda87 Update go.mod and go.sum (#15) v0.2.53 2025-12-09 01:13:24 +00:00
lukaszraczylo d9888f1a56 Cleanup (#14)
* Codebase cleanup
v0.2.52
2025-12-09 01:06:38 +00:00
lukaszraczylo 7dec532e18 Use shared PR workflow 2025-12-08 01:32:30 +00:00
lukaszraczylo aa7695b3be Trigger autoupdate. 2025-12-08 01:10:11 +00:00
lukaszraczylo 1bacd31f27 fixup! Add verified param to the releaser. 2025-12-07 16:40:37 +00:00
lukaszraczylo bfecbdf056 Add verified param to the releaser. v0.2.48 2025-12-07 14:40:12 +00:00
lukaszraczylo 754108474c fixup! fixup! fixup! Update gorelease config and docs - moving to cask due to depreciation v0.2.47 2025-12-07 14:36:45 +00:00
lukaszraczylo 690c587c0a fixup! fixup! Update gorelease config and docs - moving to cask due to depreciation v0.2.46 2025-12-07 14:16:43 +00:00
lukaszraczylo 0d03f228f9 fixup! Update gorelease config and docs - moving to cask due to depreciation v0.2.45 2025-12-07 14:04:38 +00:00
lukaszraczylo 2a44c6ff9c Update gorelease config and docs - moving to cask due to depreciation v0.2.44 2025-12-07 13:59:51 +00:00
lukaszraczylo 8672d932bb Move build and release to shared workflow 2025-12-07 13:34:14 +00:00
lukaszraczylo 87317adb91 Move to shared workflow. 2025-12-07 13:16:41 +00:00
lukaszraczylo ced7e80a06 Update the autoupdate workflow 2025-12-07 12:35:56 +00:00
lukaszraczylo 13723733df Update autoupdate workflow. LOL. 2025-12-03 00:47:06 +00:00
lukaszraczylo 9538623bcb Remove unused struct v0.2.39 2025-12-02 18:13:05 +00:00
lukaszraczylo 8bb377909c Add startupSettleTime to zeroconf to avoid race conditions. v0.2.38 2025-12-02 18:06:11 +00:00
lukaszraczylo 263a0370d3 fixup! fixup! Fix autoupdate workflow. 2025-12-01 14:39:54 +00:00
lukaszraczylo 62eca4a9a1 Update go.mod and go.sum
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-01 14:34:23 +00:00
lukaszraczylo ea20a037b9 fixup! Fix autoupdate workflow. 2025-12-01 14:31:06 +00:00
lukaszraczylo 46db732f87 Fix autoupdate workflow. 2025-12-01 14:24:34 +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.
v0.2.33
2025-11-29 12:44:33 +00:00
lukaszraczylo 518879dc56 Update menus to wrap for smaller screens. v0.2.32 2025-11-29 02:09:54 +00:00
lukaszraczylo 649227b201 Update taps confusion. 2025-11-29 01:39:21 +00:00
lukaszraczylo 28e2fc315a Create CNAME 2025-11-28 00:29:37 +00:00
lukaszraczylo ba77cb6aa9 Use OS native copy. v0.2.29 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 dbbc96a200 Improve mobile responsiveness for documentation website (#12) 2025-11-25 21:42:15 +00:00
lukaszraczylo 2498a3aa98 improvements nov2025 (#11)
* Add benchmark and httplog modules, update UI for modals artefacts
2025-11-25 19:06:17 +00:00
lukaszraczylo 3f5c1d3a5f improvements nov2025 (#10)
* Add benchmark and httplog modules, update UI for modals artefacts
v0.2.25
2025-11-25 19:00:44 +00:00
lukaszraczylo 035b1cdd01 Fix issue with tests failing due to test-related race conditions. v0.2.24 2025-11-25 17:10:44 +00:00
lukaszraczylo 32e88efd9a Zeroconf library bug causing race condition. 2025-11-25 17:03:40 +00:00
lukaszraczylo 6d8677026f Bugfixes nov2025 pt5 (#9)
* Update dependencies.

* Add autoupdate action.
2025-11-25 16:50:06 +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.
v0.2.21
2025-11-25 15:20:18 +00:00
lukaszraczylo 1167847fd4 bugfixes nov2025 pt4 (#7)
* Add mDNS resolution.
* Update the website and documentation
v0.2.20
2025-11-25 11:14:33 +00:00
lukaszraczylo 3a7cc6f502 bugfixes nov2025 pt3 (#6)
* Minor improvements.
* DRY the codebase.
* Add version checker / updater.
v0.2.19
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
v0.2.18
2025-11-25 00:09:32 +00:00
lukaszraczylo 39fe4286b4 Fix the watchdog being too aggressive. v0.2.17 2025-11-24 13:19:44 +00:00