Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAhmad Sherif <me@ahmadsherif.com>2016-12-22 17:57:08 +0300
committerAhmad Sherif <me@ahmadsherif.com>2016-12-23 22:14:07 +0300
commit8504da78fdb90da74b7fe9b55296c1967c902851 (patch)
treefe2e38be3ffc6e9e2eff6d41dee2cc1eaa480a46
parente32c0ad734100057234a2f9e2b255fc8ac3162d5 (diff)
Replace old TCP server with an HTTP server
-rw-r--r--cmd/gitaly/main.go24
1 files changed, 20 insertions, 4 deletions
diff --git a/cmd/gitaly/main.go b/cmd/gitaly/main.go
index 3c6df166d..d820d8e0f 100644
--- a/cmd/gitaly/main.go
+++ b/cmd/gitaly/main.go
@@ -2,6 +2,7 @@ package main
import (
"log"
+ "net"
"net/http"
"os"
"os/signal"
@@ -9,11 +10,10 @@ import (
"github.com/kelseyhightower/envconfig"
"github.com/prometheus/client_golang/prometheus/promhttp"
-
- serv "gitlab.com/gitlab-org/gitaly/server"
)
type Config struct {
+ SocketPath string `split_words:"true"`
PrometheusListenAddr string `split_words:"true"`
}
@@ -27,8 +27,23 @@ func main() {
log.Fatal(err)
}
+ if config.SocketPath == "" {
+ log.Fatal("GITALY_SOCKET_PATH environment variable is not set")
+ }
+
+ if err := os.Remove(config.SocketPath); err != nil && !os.IsNotExist(err) {
+ log.Fatal(err)
+ }
+
+ listener, err := net.Listen("unix", config.SocketPath)
+ if err != nil {
+ log.Fatal(err)
+ }
+ log.Println("Listening on socket", config.SocketPath)
+
go func() {
- server.Serve("0.0.0.0:6666", serv.CommandExecutor)
+ // TODO: Add a handler
+ http.Serve(listener, nil)
}()
if config.PrometheusListenAddr != "" {
@@ -41,6 +56,7 @@ func main() {
select {
case <-ch:
- server.Stop()
+ log.Println("Received shutdown message")
+ listener.Close()
}
}