Categorygithub.com/swiftwave-org/udpproxy
modulepackage
0.0.0-20240428180139-6e61c9ec1f39
Repository: https://github.com/swiftwave-org/udpproxy.git
Documentation: pkg.go.dev

# README

UDP Proxy with Service Activation Support

Why required -

Swiftwave uses HAProxy as ingress and it can handle TCP/HTTP traffic. But it can't handle UDP traffic. So, we need a UDP proxy to handle UDP traffic.

You may thought why we not using Docker Swarm Ingress for UDP traffic.

The reason is

  • we need some control over the port mapping.
  • we need something which can monitor traffic and can take action based on that. (future requirement)
  • we have some feature in our roadmap which required UDP proxy. (future requirement)

How it works -

  • It will listen on a port and forward the traffic to the destination based on the configuration.
  • It will have a backup mechanism to alert swiftwave if service is unreachable. (future requirement)
  • Will support runtime configuration change.
  • Will only managed over unix socket.

Environment Variables -

  • SOCKET_PATH - Path of the unix socket. Default: /etc/udpproxy/api.sock
  • RECORDS_PATH - Path of the records file. Default: /var/lib/udpproxy/records

# Functions

NewUDPProxy creates a new UDPProxy.
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

UDPBufSize is the buffer size for the UDP proxy.
UDPConnTrackTimeout is the timeout used for UDP connection tracking.

# Variables

No description provided by the author
No description provided by the author

# Structs

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
UDPProxy is proxy for which handles UDP datagrams.