feat: implement PROXY protocol to propagate source IPs (#22)

Fixes #13 

Co-authored-by: Geoff Bourne <itzgeoff@gmail.com>
This commit is contained in:
Gabriel C
2021-11-13 21:38:20 +02:00
committed by GitHub
parent 8b54fdfb86
commit 7b741337cd
5 changed files with 48 additions and 14 deletions
+2 -1
View File
@@ -40,6 +40,7 @@ type Config struct {
InKubeCluster bool `usage:"Use in-cluster kubernetes config"`
KubeConfig string `usage:"The path to a kubernetes configuration file"`
MetricsBackend string `default:"discard" usage:"Backend to use for metrics exposure/publishing: discard,expvar,influxdb"`
UseProxyProtocol bool `default:"false" usage:"Send PROXY protocol to backend servers"`
MetricsBackendConfig MetricsBackendConfig
}
@@ -98,7 +99,7 @@ func main() {
if config.ConnectionRateLimit < 1 {
config.ConnectionRateLimit = 1
}
connector := server.NewConnector(metricsBuilder.BuildConnectorMetrics())
connector := server.NewConnector(metricsBuilder.BuildConnectorMetrics(), config.UseProxyProtocol)
err = connector.StartAcceptingConnections(ctx,
net.JoinHostPort("", strconv.Itoa(config.Port)),
config.ConnectionRateLimit,