aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2020-10-07 16:59:22 +0100
committerGitHub <noreply@github.com>2020-10-07 16:59:22 +0100
commit8bca7a83a98a310e4adae405d125dda93c8db1a0 (patch)
treec217e54dc0b0b0f2cbf3c29a4213e09e87c5d2be /cmd
parentbf7e85848bce3ec9ef89e485699d1c5fc6b34e6b (diff)
Update monolith -api behaviour (#1484)
* Update monolith -api mode listeners * Fix check * Fix another check * Update HTTP API addr behaviour * Redefine NoExternalListener * NoListener
Diffstat (limited to 'cmd')
-rw-r--r--cmd/dendrite-appservice-server/main.go4
-rw-r--r--cmd/dendrite-edu-server/main.go4
-rw-r--r--cmd/dendrite-federation-sender-server/main.go4
-rw-r--r--cmd/dendrite-key-server/main.go4
-rw-r--r--cmd/dendrite-monolith-server/main.go37
-rw-r--r--cmd/dendrite-room-server/main.go4
-rw-r--r--cmd/dendrite-signing-key-server/main.go2
-rw-r--r--cmd/dendrite-user-api-server/main.go4
8 files changed, 34 insertions, 29 deletions
diff --git a/cmd/dendrite-appservice-server/main.go b/cmd/dendrite-appservice-server/main.go
index 72b243e2..6adbdb17 100644
--- a/cmd/dendrite-appservice-server/main.go
+++ b/cmd/dendrite-appservice-server/main.go
@@ -31,8 +31,8 @@ func main() {
appservice.AddInternalRoutes(base.InternalAPIMux, intAPI)
base.SetupAndServeHTTP(
- base.Cfg.AppServiceAPI.InternalAPI.Listen,
- setup.NoExternalListener,
+ base.Cfg.AppServiceAPI.InternalAPI.Listen, // internal listener
+ setup.NoListener, // external listener
nil, nil,
)
}
diff --git a/cmd/dendrite-edu-server/main.go b/cmd/dendrite-edu-server/main.go
index e0956619..3a34b9a6 100644
--- a/cmd/dendrite-edu-server/main.go
+++ b/cmd/dendrite-edu-server/main.go
@@ -34,8 +34,8 @@ func main() {
eduserver.AddInternalRoutes(base.InternalAPIMux, intAPI)
base.SetupAndServeHTTP(
- base.Cfg.EDUServer.InternalAPI.Listen,
- setup.NoExternalListener,
+ base.Cfg.EDUServer.InternalAPI.Listen, // internal listener
+ setup.NoListener, // external listener
nil, nil,
)
}
diff --git a/cmd/dendrite-federation-sender-server/main.go b/cmd/dendrite-federation-sender-server/main.go
index 07380bb0..99b416c4 100644
--- a/cmd/dendrite-federation-sender-server/main.go
+++ b/cmd/dendrite-federation-sender-server/main.go
@@ -36,8 +36,8 @@ func main() {
federationsender.AddInternalRoutes(base.InternalAPIMux, fsAPI)
base.SetupAndServeHTTP(
- base.Cfg.FederationSender.InternalAPI.Listen,
- setup.NoExternalListener,
+ base.Cfg.FederationSender.InternalAPI.Listen, // internal listener
+ setup.NoListener, // external listener
nil, nil,
)
}
diff --git a/cmd/dendrite-key-server/main.go b/cmd/dendrite-key-server/main.go
index 2110b216..92d18ac3 100644
--- a/cmd/dendrite-key-server/main.go
+++ b/cmd/dendrite-key-server/main.go
@@ -30,8 +30,8 @@ func main() {
keyserver.AddInternalRoutes(base.InternalAPIMux, intAPI)
base.SetupAndServeHTTP(
- base.Cfg.KeyServer.InternalAPI.Listen,
- setup.NoExternalListener,
+ base.Cfg.KeyServer.InternalAPI.Listen, // internal listener
+ setup.NoListener, // external listener
nil, nil,
)
}
diff --git a/cmd/dendrite-monolith-server/main.go b/cmd/dendrite-monolith-server/main.go
index c50c0c21..0fe70ca8 100644
--- a/cmd/dendrite-monolith-server/main.go
+++ b/cmd/dendrite-monolith-server/main.go
@@ -29,11 +29,13 @@ import (
"github.com/matrix-org/dendrite/roomserver/api"
"github.com/matrix-org/dendrite/signingkeyserver"
"github.com/matrix-org/dendrite/userapi"
+ "github.com/sirupsen/logrus"
)
var (
httpBindAddr = flag.String("http-bind-address", ":8008", "The HTTP listening port for the server")
httpsBindAddr = flag.String("https-bind-address", ":8448", "The HTTPS listening port for the server")
+ apiBindAddr = flag.String("api-bind-address", "localhost:18008", "The HTTP listening port for the internal HTTP APIs (if -api is enabled)")
certFile = flag.String("tls-cert", "", "The PEM formatted X509 certificate to use for TLS")
keyFile = flag.String("tls-key", "", "The PEM private key to use for TLS")
enableHTTPAPIs = flag.Bool("api", false, "Use HTTP APIs instead of short-circuiting (warning: exposes API endpoints!)")
@@ -44,22 +46,25 @@ func main() {
cfg := setup.ParseFlags(true)
httpAddr := config.HTTPAddress("http://" + *httpBindAddr)
httpsAddr := config.HTTPAddress("https://" + *httpsBindAddr)
+ httpAPIAddr := httpAddr
if *enableHTTPAPIs {
+ logrus.Warnf("DANGER! The -api option is enabled, exposing internal APIs on %q!", *apiBindAddr)
+ httpAPIAddr = config.HTTPAddress("http://" + *apiBindAddr)
// If the HTTP APIs are enabled then we need to update the Listen
// statements in the configuration so that we know where to find
// the API endpoints. They'll listen on the same port as the monolith
// itself.
- cfg.AppServiceAPI.InternalAPI.Connect = httpAddr
- cfg.ClientAPI.InternalAPI.Connect = httpAddr
- cfg.EDUServer.InternalAPI.Connect = httpAddr
- cfg.FederationAPI.InternalAPI.Connect = httpAddr
- cfg.FederationSender.InternalAPI.Connect = httpAddr
- cfg.KeyServer.InternalAPI.Connect = httpAddr
- cfg.MediaAPI.InternalAPI.Connect = httpAddr
- cfg.RoomServer.InternalAPI.Connect = httpAddr
- cfg.SigningKeyServer.InternalAPI.Connect = httpAddr
- cfg.SyncAPI.InternalAPI.Connect = httpAddr
+ cfg.AppServiceAPI.InternalAPI.Connect = httpAPIAddr
+ cfg.ClientAPI.InternalAPI.Connect = httpAPIAddr
+ cfg.EDUServer.InternalAPI.Connect = httpAPIAddr
+ cfg.FederationAPI.InternalAPI.Connect = httpAPIAddr
+ cfg.FederationSender.InternalAPI.Connect = httpAPIAddr
+ cfg.KeyServer.InternalAPI.Connect = httpAPIAddr
+ cfg.MediaAPI.InternalAPI.Connect = httpAPIAddr
+ cfg.RoomServer.InternalAPI.Connect = httpAPIAddr
+ cfg.SigningKeyServer.InternalAPI.Connect = httpAPIAddr
+ cfg.SyncAPI.InternalAPI.Connect = httpAPIAddr
}
base := setup.NewBaseDendrite(cfg, "Monolith", *enableHTTPAPIs)
@@ -148,18 +153,18 @@ func main() {
// Expose the matrix APIs directly rather than putting them under a /api path.
go func() {
base.SetupAndServeHTTP(
- config.HTTPAddress(httpAddr), // internal API
- config.HTTPAddress(httpAddr), // external API
- nil, nil, // TLS settings
+ httpAPIAddr, // internal API
+ httpAddr, // external API
+ nil, nil, // TLS settings
)
}()
// Handle HTTPS if certificate and key are provided
if *certFile != "" && *keyFile != "" {
go func() {
base.SetupAndServeHTTP(
- config.HTTPAddress(httpsAddr), // internal API
- config.HTTPAddress(httpsAddr), // external API
- certFile, keyFile, // TLS settings
+ setup.NoListener, // internal API
+ httpsAddr, // external API
+ certFile, keyFile, // TLS settings
)
}()
}
diff --git a/cmd/dendrite-room-server/main.go b/cmd/dendrite-room-server/main.go
index c61368bf..d3f14574 100644
--- a/cmd/dendrite-room-server/main.go
+++ b/cmd/dendrite-room-server/main.go
@@ -33,8 +33,8 @@ func main() {
roomserver.AddInternalRoutes(base.InternalAPIMux, rsAPI)
base.SetupAndServeHTTP(
- base.Cfg.RoomServer.InternalAPI.Listen,
- setup.NoExternalListener,
+ base.Cfg.RoomServer.InternalAPI.Listen, // internal listener
+ setup.NoListener, // external listener
nil, nil,
)
}
diff --git a/cmd/dendrite-signing-key-server/main.go b/cmd/dendrite-signing-key-server/main.go
index 003bd755..a4d48d36 100644
--- a/cmd/dendrite-signing-key-server/main.go
+++ b/cmd/dendrite-signing-key-server/main.go
@@ -31,7 +31,7 @@ func main() {
base.SetupAndServeHTTP(
base.Cfg.SigningKeyServer.InternalAPI.Listen,
- setup.NoExternalListener,
+ setup.NoListener,
nil, nil,
)
}
diff --git a/cmd/dendrite-user-api-server/main.go b/cmd/dendrite-user-api-server/main.go
index c8e2e2a3..fb65fefb 100644
--- a/cmd/dendrite-user-api-server/main.go
+++ b/cmd/dendrite-user-api-server/main.go
@@ -31,8 +31,8 @@ func main() {
userapi.AddInternalRoutes(base.InternalAPIMux, userAPI)
base.SetupAndServeHTTP(
- base.Cfg.UserAPI.InternalAPI.Listen,
- setup.NoExternalListener,
+ base.Cfg.UserAPI.InternalAPI.Listen, // internal listener
+ setup.NoListener, // external listener
nil, nil,
)
}