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

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app.go
diff options
context:
space:
mode:
authorJaime Martinez <jmartinez@gitlab.com>2022-02-01 06:07:30 +0300
committerJaime Martinez <jmartinez@gitlab.com>2022-02-01 06:07:30 +0300
commitbe03f220910a2188d824f81612221db78f74ff2a (patch)
treefd9419ebc3cee2e8fbf3ee48674c0cf567092ae3 /app.go
parent1ecb7b42dc488d94ea958b120b544f680e866716 (diff)
parent066ac20ffe98a7cf3e3d35e3a489459dec12f157 (diff)
Merge branch 'remove/file-descriptors' into 'master'
refactor: stop passing file descriptors around and use net.Listen directly See merge request gitlab-org/gitlab-pages!667
Diffstat (limited to 'app.go')
-rw-r--r--app.go30
1 files changed, 15 insertions, 15 deletions
diff --git a/app.go b/app.go
index ad659109..ddafb0bf 100644
--- a/app.go
+++ b/app.go
@@ -294,9 +294,9 @@ func (a *theApp) Run() {
var servers []*http.Server
// Listen for HTTP
- for _, fd := range a.config.Listeners.HTTP {
+ for _, addr := range a.config.ListenHTTPStrings.Split() {
s := a.listen(
- fd,
+ addr,
httpHandler,
errortracking.WithField("listener", request.SchemeHTTP),
withLimiter(limiter),
@@ -305,14 +305,14 @@ func (a *theApp) Run() {
}
// Listen for HTTPS
- for _, fd := range a.config.Listeners.HTTPS {
+ for _, addr := range a.config.ListenHTTPSStrings.Split() {
tlsConfig, err := a.TLSConfig()
if err != nil {
log.WithError(err).Fatal("Unable to retrieve tls config")
}
s := a.listen(
- fd,
+ addr,
httpHandler,
errortracking.WithField("listener", request.SchemeHTTPS),
withLimiter(limiter),
@@ -322,9 +322,9 @@ func (a *theApp) Run() {
}
// Listen for HTTP proxy requests
- for _, fd := range a.config.Listeners.Proxy {
+ for _, addr := range a.config.ListenProxyStrings.Split() {
s := a.listen(
- fd,
+ addr,
proxyHandler,
errortracking.WithField("listener", "http proxy"),
withLimiter(limiter),
@@ -333,14 +333,14 @@ func (a *theApp) Run() {
}
// Listen for HTTPS PROXYv2 requests
- for _, fd := range a.config.Listeners.HTTPSProxyv2 {
+ for _, addr := range a.config.ListenHTTPSProxyv2Strings.Split() {
tlsConfig, err := a.TLSConfig()
if err != nil {
log.WithError(err).Fatal("Unable to retrieve tls config")
}
s := a.listen(
- fd,
+ addr,
httpHandler,
errortracking.WithField("listener", "https proxy"),
withLimiter(limiter),
@@ -351,8 +351,8 @@ func (a *theApp) Run() {
}
// Serve metrics for Prometheus
- if a.config.ListenMetrics != 0 {
- a.listenMetricsFD(&wg, a.config.ListenMetrics)
+ if a.config.General.MetricsAddress != "" {
+ a.listenMetrics(&wg, a.config.General.MetricsAddress)
}
sigChan := make(chan os.Signal, 1)
@@ -378,10 +378,10 @@ func (a *theApp) Run() {
}
}
-func (a *theApp) listen(fd uintptr, h http.Handler, errTrackingOpt errortracking.CaptureOption, opts ...option) *http.Server {
+func (a *theApp) listen(addr string, h http.Handler, errTrackingOpt errortracking.CaptureOption, opts ...option) *http.Server {
server := &http.Server{}
go func() {
- if err := a.listenAndServe(server, fd, h, opts...); err != nil && !errors.Is(err, http.ErrServerClosed) {
+ if err := a.listenAndServe(server, addr, h, opts...); err != nil && !errors.Is(err, http.ErrServerClosed) {
capturingFatal(err, errTrackingOpt)
}
}()
@@ -389,14 +389,14 @@ func (a *theApp) listen(fd uintptr, h http.Handler, errTrackingOpt errortracking
return server
}
-func (a *theApp) listenMetricsFD(wg *sync.WaitGroup, fd uintptr) {
+func (a *theApp) listenMetrics(wg *sync.WaitGroup, addr string) {
wg.Add(1)
go func() {
defer wg.Done()
- l, err := net.FileListener(os.NewFile(fd, "[socket]"))
+ l, err := net.Listen("tcp", addr)
if err != nil {
- capturingFatal(fmt.Errorf("failed to listen on FD %d: %w", fd, err), errortracking.WithField("listener", "metrics"))
+ capturingFatal(fmt.Errorf("failed to listen on addr %s: %w", addr, err), errortracking.WithField("listener", "metrics"))
}
monitoringOpts := []monitoring.Option{