https://github.com/mozgiii/port-forward-controller
Control port forwarding on your router from Kubernetes (via PCP, an UPnP-like protocol); a modern version of port-map-operator.
https://github.com/mozgiii/port-forward-controller
helm-chart helm-charts kubernetes kubernetes-controller kubernetes-operator pcp port-control-protocol port-forward port-forwarding port-mapping upnp
Last synced: 4 months ago
JSON representation
Control port forwarding on your router from Kubernetes (via PCP, an UPnP-like protocol); a modern version of port-map-operator.
- Host: GitHub
- URL: https://github.com/mozgiii/port-forward-controller
- Owner: MOZGIII
- Created: 2024-08-23T19:31:48.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-12-03T17:42:13.000Z (10 months ago)
- Last Synced: 2025-04-04T15:50:41.038Z (6 months ago)
- Topics: helm-chart, helm-charts, kubernetes, kubernetes-controller, kubernetes-operator, pcp, port-control-protocol, port-forward, port-forwarding, port-mapping, upnp
- Language: Rust
- Homepage:
- Size: 165 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# port-forward-controller
WIP.
A port forward controller powered by PCP - a UPnP and NAT-PMP successor protocol
that almost any home router supports.> This has nothing to do with `kubectl port-forward` kind of port forwarding
> and the corresponding APIs.Run it in your Kubernetes cluster and manage dynamic port forwarding rules via
CRDs.Provides a `LoadBalancer` implementation that automatically forwards port on
the router according to the `Service` configuration.> A successor project for .
## Ideas
- eBPF-powered PCP implementation for externally-managed
VIP `LoadBalancer` servicesThe idea there is we'd be able to send and receive the PCP packets -
something we can't do by simply utilizing the usual networking at with
a host-network `Pod`.This is, however, better fitted for the `LoadBalancer` service implementations
themselves.- non-PCP port forwarding
Using the HTTP/Telnet/SSH for port forwarding via the admin panel of
the router.This is much more flexible, allowing proper setup for passing traffic to
an externally-managed L2 `LoadBalancer`s directly - but also to any arbitrary
IP/port pair.