chore(tfstated): prepare for listening on a second port
This commit is contained in:
parent
36e3d473f2
commit
65e66b5e38
3 changed files with 17 additions and 14 deletions
|
@ -30,17 +30,21 @@ func run(
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
httpServer := backend.Run(ctx, db, getenv, stderr)
|
backend := backend.Run(ctx, db, getenv, stderr)
|
||||||
|
|
||||||
|
<-ctx.Done()
|
||||||
|
shutdownCtx := context.Background()
|
||||||
|
shutdownCtx, shutdownCancel := context.WithTimeout(shutdownCtx, 10*time.Second)
|
||||||
|
defer shutdownCancel()
|
||||||
|
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
<-ctx.Done()
|
if err := backend.Shutdown(shutdownCtx); err != nil {
|
||||||
shutdownCtx := context.Background()
|
slog.Error("error shutting down backend http server", "error", err)
|
||||||
shutdownCtx, cancel := context.WithTimeout(shutdownCtx, 10*time.Second)
|
}
|
||||||
defer cancel()
|
}()
|
||||||
if err := httpServer.Shutdown(shutdownCtx); err != nil {
|
|
||||||
_, _ = fmt.Fprintf(stderr, "error shutting down http server: %+v\n", err)
|
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
|
|
@ -15,7 +15,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var baseURI = url.URL{
|
var baseURI = url.URL{
|
||||||
Host: "127.0.0.1:8081",
|
Host: "127.0.0.1:8082",
|
||||||
Path: "/",
|
Path: "/",
|
||||||
Scheme: "http",
|
Scheme: "http",
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ func TestMain(m *testing.M) {
|
||||||
case "TFSTATED_HOST":
|
case "TFSTATED_HOST":
|
||||||
return "127.0.0.1"
|
return "127.0.0.1"
|
||||||
case "TFSTATED_PORT":
|
case "TFSTATED_PORT":
|
||||||
return "8081"
|
return "8082"
|
||||||
case "VERSIONS_HISTORY_LIMIT":
|
case "VERSIONS_HISTORY_LIMIT":
|
||||||
return "3"
|
return "3"
|
||||||
default:
|
default:
|
||||||
|
@ -59,7 +59,7 @@ func TestMain(m *testing.M) {
|
||||||
getenv,
|
getenv,
|
||||||
os.Stderr,
|
os.Stderr,
|
||||||
)
|
)
|
||||||
err = waitForReady(ctx, 5*time.Second, "http://127.0.0.1:8081/healthz")
|
err = waitForReady(ctx, 5*time.Second, "http://127.0.0.1:8082/healthz")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
fmt.Fprintf(os.Stderr, "%+v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
|
@ -2,9 +2,8 @@ package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
|
||||||
"io"
|
"io"
|
||||||
"log"
|
"log/slog"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
|
@ -41,9 +40,9 @@ func Run(
|
||||||
Handler: logger.Middleware(mux, false),
|
Handler: logger.Middleware(mux, false),
|
||||||
}
|
}
|
||||||
go func() {
|
go func() {
|
||||||
log.Printf("listening on %s\n", httpServer.Addr)
|
slog.Info("backend http server listening", "address", httpServer.Addr)
|
||||||
if err := httpServer.ListenAndServe(); err != nil && err != http.ErrServerClosed {
|
if err := httpServer.ListenAndServe(); err != nil && err != http.ErrServerClosed {
|
||||||
_, _ = fmt.Fprintf(stderr, "error listening and serving: %+v\n", err)
|
slog.Error("error listening and serving backend http server", "address", httpServer.Addr, "error", err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue