INNER CODE UNIT · Go
run
docker/compose · relay/main.go:58
func run() error {
routes, err := parseRoutes(os.Getenv("RELAY_ROUTES"))
if err != nil {
return fmt.Errorf("RELAY_ROUTES: %w", err)
}
ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGTERM, syscall.SIGINT)
defer stop()
var wg sync.WaitGroup
for port, upstream := range routes {
listener, err := net.Listen("tcp", fmt.Sprintf(":%d", port))
if err != nil {
return fmt.Errorf("listen :%d: %w", port, err)
}
log.Printf("relaying :%d -> %s", port, upstream)
wg.Add(1)
go func() {