From 924db7c341cf620e125433fbeb9e3dd7176e9354 Mon Sep 17 00:00:00 2001 From: Till Faelligen Date: Sat, 3 Oct 2020 15:24:37 +0200 Subject: [PATCH] Add /api/health endpoint where applicable --- cmd/dendrite-appservice-server/main.go | 1 + cmd/dendrite-key-server/main.go | 1 + cmd/dendrite-media-api-server/main.go | 1 + cmd/dendrite-monolith-server/main.go | 11 +++++++++++ cmd/dendrite-room-server/main.go | 1 + cmd/dendrite-server-key-api-server/main.go | 1 + cmd/dendrite-sync-api-server/main.go | 1 + cmd/dendrite-user-api-server/main.go | 1 + 8 files changed, 18 insertions(+) diff --git a/cmd/dendrite-appservice-server/main.go b/cmd/dendrite-appservice-server/main.go index 72b243e28..1e0b7e4d8 100644 --- a/cmd/dendrite-appservice-server/main.go +++ b/cmd/dendrite-appservice-server/main.go @@ -29,6 +29,7 @@ func main() { intAPI := appservice.NewInternalAPI(base, userAPI, rsAPI) appservice.AddInternalRoutes(base.InternalAPIMux, intAPI) + setup.AddHealthCheck(base.InternalAPIMux, base.Cfg.AppServiceAPI.Database) base.SetupAndServeHTTP( base.Cfg.AppServiceAPI.InternalAPI.Listen, diff --git a/cmd/dendrite-key-server/main.go b/cmd/dendrite-key-server/main.go index 2110b216d..2643c5934 100644 --- a/cmd/dendrite-key-server/main.go +++ b/cmd/dendrite-key-server/main.go @@ -28,6 +28,7 @@ func main() { intAPI.SetUserAPI(base.UserAPIClient()) keyserver.AddInternalRoutes(base.InternalAPIMux, intAPI) + setup.AddHealthCheck(base.InternalAPIMux, base.Cfg.KeyServer.Database) base.SetupAndServeHTTP( base.Cfg.KeyServer.InternalAPI.Listen, diff --git a/cmd/dendrite-media-api-server/main.go b/cmd/dendrite-media-api-server/main.go index 2c2fe3b36..c7e455b4a 100644 --- a/cmd/dendrite-media-api-server/main.go +++ b/cmd/dendrite-media-api-server/main.go @@ -28,6 +28,7 @@ func main() { client := base.CreateClient() mediaapi.AddPublicRoutes(base.PublicMediaAPIMux, &base.Cfg.MediaAPI, userAPI, client) + setup.AddHealthCheck(base.InternalAPIMux, base.Cfg.MediaAPI.Database) base.SetupAndServeHTTP( base.Cfg.MediaAPI.InternalAPI.Listen, diff --git a/cmd/dendrite-monolith-server/main.go b/cmd/dendrite-monolith-server/main.go index 28a349a76..a9a1798bd 100644 --- a/cmd/dendrite-monolith-server/main.go +++ b/cmd/dendrite-monolith-server/main.go @@ -145,6 +145,17 @@ func main() { base.PublicMediaAPIMux, ) + setup.AddHealthCheck(base.InternalAPIMux, + base.Cfg.AppServiceAPI.Database, + base.Cfg.FederationSender.Database, + base.Cfg.KeyServer.Database, + base.Cfg.MediaAPI.Database, + base.Cfg.ServerKeyAPI.Database, + base.Cfg.SyncAPI.Database, + base.Cfg.UserAPI.AccountDatabase, + base.Cfg.UserAPI.DeviceDatabase, + ) + // Expose the matrix APIs directly rather than putting them under a /api path. go func() { base.SetupAndServeHTTP( diff --git a/cmd/dendrite-room-server/main.go b/cmd/dendrite-room-server/main.go index 08ad34bfd..56b201d13 100644 --- a/cmd/dendrite-room-server/main.go +++ b/cmd/dendrite-room-server/main.go @@ -31,6 +31,7 @@ func main() { rsAPI := roomserver.NewInternalAPI(base, keyRing) rsAPI.SetFederationSenderAPI(fsAPI) roomserver.AddInternalRoutes(base.InternalAPIMux, rsAPI) + setup.AddHealthCheck(base.InternalAPIMux, base.Cfg.RoomServer.Database) base.SetupAndServeHTTP( base.Cfg.RoomServer.InternalAPI.Listen, diff --git a/cmd/dendrite-server-key-api-server/main.go b/cmd/dendrite-server-key-api-server/main.go index 1ad4ede26..e3d05ee4f 100644 --- a/cmd/dendrite-server-key-api-server/main.go +++ b/cmd/dendrite-server-key-api-server/main.go @@ -28,6 +28,7 @@ func main() { intAPI := serverkeyapi.NewInternalAPI(&base.Cfg.ServerKeyAPI, federation, base.Caches) serverkeyapi.AddInternalRoutes(base.InternalAPIMux, intAPI, base.Caches) + setup.AddHealthCheck(base.InternalAPIMux, base.Cfg.ServerKeyAPI.Database) base.SetupAndServeHTTP( base.Cfg.ServerKeyAPI.InternalAPI.Listen, diff --git a/cmd/dendrite-sync-api-server/main.go b/cmd/dendrite-sync-api-server/main.go index b879f842f..46ad0e40f 100644 --- a/cmd/dendrite-sync-api-server/main.go +++ b/cmd/dendrite-sync-api-server/main.go @@ -34,6 +34,7 @@ func main() { base.KeyServerHTTPClient(), federation, &cfg.SyncAPI, ) + setup.AddHealthCheck(base.InternalAPIMux, base.Cfg.SyncAPI.Database) base.SetupAndServeHTTP( base.Cfg.SyncAPI.InternalAPI.Listen, diff --git a/cmd/dendrite-user-api-server/main.go b/cmd/dendrite-user-api-server/main.go index c8e2e2a37..730682f4d 100644 --- a/cmd/dendrite-user-api-server/main.go +++ b/cmd/dendrite-user-api-server/main.go @@ -29,6 +29,7 @@ func main() { userAPI := userapi.NewInternalAPI(accountDB, &cfg.UserAPI, cfg.Derived.ApplicationServices, base.KeyServerHTTPClient()) userapi.AddInternalRoutes(base.InternalAPIMux, userAPI) + setup.AddHealthCheck(base.InternalAPIMux, cfg.UserAPI.AccountDatabase, cfg.UserAPI.DeviceDatabase) base.SetupAndServeHTTP( base.Cfg.UserAPI.InternalAPI.Listen,