aboutsummaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorKegsay <kegan@matrix.org>2020-09-07 14:47:59 +0100
committerGitHub <noreply@github.com>2020-09-07 14:47:59 +0100
commitc992f4f1f44b0e43e52010b10bc0a82ddf26848d (patch)
tree5468390c58377a69f9ae30b6511667e011256e8a /internal
parent8589f8373e627f9229e729186ab800d3116c12da (diff)
Remove current state server (#1405)
* Remove current state server Closes #1365 #1272 #1357 * Remove current state server from scripts/docs
Diffstat (limited to 'internal')
-rw-r--r--internal/config/config.go38
-rw-r--r--internal/config/config_currentstate.go24
-rw-r--r--internal/setup/base.go11
-rw-r--r--internal/setup/monolith.go8
-rw-r--r--internal/test/config.go3
5 files changed, 16 insertions, 68 deletions
diff --git a/internal/config/config.go b/internal/config/config.go
index 4f812885..d7470f87 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -51,19 +51,18 @@ type Dendrite struct {
// been a breaking change to the config file format.
Version int `yaml:"version"`
- Global Global `yaml:"global"`
- AppServiceAPI AppServiceAPI `yaml:"app_service_api"`
- ClientAPI ClientAPI `yaml:"client_api"`
- CurrentStateServer CurrentStateServer `yaml:"current_state_server"`
- EDUServer EDUServer `yaml:"edu_server"`
- FederationAPI FederationAPI `yaml:"federation_api"`
- FederationSender FederationSender `yaml:"federation_sender"`
- KeyServer KeyServer `yaml:"key_server"`
- MediaAPI MediaAPI `yaml:"media_api"`
- RoomServer RoomServer `yaml:"room_server"`
- ServerKeyAPI ServerKeyAPI `yaml:"server_key_api"`
- SyncAPI SyncAPI `yaml:"sync_api"`
- UserAPI UserAPI `yaml:"user_api"`
+ Global Global `yaml:"global"`
+ AppServiceAPI AppServiceAPI `yaml:"app_service_api"`
+ ClientAPI ClientAPI `yaml:"client_api"`
+ EDUServer EDUServer `yaml:"edu_server"`
+ FederationAPI FederationAPI `yaml:"federation_api"`
+ FederationSender FederationSender `yaml:"federation_sender"`
+ KeyServer KeyServer `yaml:"key_server"`
+ MediaAPI MediaAPI `yaml:"media_api"`
+ RoomServer RoomServer `yaml:"room_server"`
+ ServerKeyAPI ServerKeyAPI `yaml:"server_key_api"`
+ SyncAPI SyncAPI `yaml:"sync_api"`
+ UserAPI UserAPI `yaml:"user_api"`
// The config for tracing the dendrite servers.
Tracing struct {
@@ -289,7 +288,6 @@ func (c *Dendrite) Defaults() {
c.Global.Defaults()
c.ClientAPI.Defaults()
- c.CurrentStateServer.Defaults()
c.EDUServer.Defaults()
c.FederationAPI.Defaults()
c.FederationSender.Defaults()
@@ -309,7 +307,7 @@ func (c *Dendrite) Verify(configErrs *ConfigErrors, isMonolith bool) {
Verify(configErrs *ConfigErrors, isMonolith bool)
}
for _, c := range []verifiable{
- &c.Global, &c.ClientAPI, &c.CurrentStateServer,
+ &c.Global, &c.ClientAPI,
&c.EDUServer, &c.FederationAPI, &c.FederationSender,
&c.KeyServer, &c.MediaAPI, &c.RoomServer,
&c.ServerKeyAPI, &c.SyncAPI, &c.UserAPI,
@@ -321,7 +319,6 @@ func (c *Dendrite) Verify(configErrs *ConfigErrors, isMonolith bool) {
func (c *Dendrite) Wiring() {
c.ClientAPI.Matrix = &c.Global
- c.CurrentStateServer.Matrix = &c.Global
c.EDUServer.Matrix = &c.Global
c.FederationAPI.Matrix = &c.Global
c.FederationSender.Matrix = &c.Global
@@ -512,15 +509,6 @@ func (config *Dendrite) UserAPIURL() string {
return string(config.UserAPI.InternalAPI.Connect)
}
-// CurrentStateAPIURL returns an HTTP URL for where the currentstateserver is listening.
-func (config *Dendrite) CurrentStateAPIURL() string {
- // Hard code the currentstateserver to talk HTTP for now.
- // If we support HTTPS we need to think of a practical way to do certificate validation.
- // People setting up servers shouldn't need to get a certificate valid for the public
- // internet for an internal API.
- return string(config.CurrentStateServer.InternalAPI.Connect)
-}
-
// EDUServerURL returns an HTTP URL for where the EDU server is listening.
func (config *Dendrite) EDUServerURL() string {
// Hard code the EDU server to talk HTTP for now.
diff --git a/internal/config/config_currentstate.go b/internal/config/config_currentstate.go
deleted file mode 100644
index c07ebe15..00000000
--- a/internal/config/config_currentstate.go
+++ /dev/null
@@ -1,24 +0,0 @@
-package config
-
-type CurrentStateServer struct {
- Matrix *Global `yaml:"-"`
-
- InternalAPI InternalAPIOptions `yaml:"internal_api"`
-
- // The CurrentState database stores the current state of all rooms.
- // It is accessed by the CurrentStateServer.
- Database DatabaseOptions `yaml:"database"`
-}
-
-func (c *CurrentStateServer) Defaults() {
- c.InternalAPI.Listen = "http://localhost:7782"
- c.InternalAPI.Connect = "http://localhost:7782"
- c.Database.Defaults()
- c.Database.ConnectionString = "file:currentstate.db"
-}
-
-func (c *CurrentStateServer) Verify(configErrs *ConfigErrors, isMonolith bool) {
- checkURL(configErrs, "current_state_server.internal_api.listen", string(c.InternalAPI.Listen))
- checkURL(configErrs, "current_state_server.internal_api.connect", string(c.InternalAPI.Connect))
- checkNotEmpty(configErrs, "current_state_server.database.connection_string", string(c.Database.ConnectionString))
-}
diff --git a/internal/setup/base.go b/internal/setup/base.go
index ec2bbc4c..ef956dd2 100644
--- a/internal/setup/base.go
+++ b/internal/setup/base.go
@@ -21,7 +21,6 @@ import (
"net/url"
"time"
- currentstateAPI "github.com/matrix-org/dendrite/currentstateserver/api"
"github.com/matrix-org/dendrite/internal/caching"
"github.com/matrix-org/dendrite/internal/httputil"
"github.com/matrix-org/gomatrixserverlib"
@@ -38,7 +37,6 @@ import (
appserviceAPI "github.com/matrix-org/dendrite/appservice/api"
asinthttp "github.com/matrix-org/dendrite/appservice/inthttp"
- currentstateinthttp "github.com/matrix-org/dendrite/currentstateserver/inthttp"
eduServerAPI "github.com/matrix-org/dendrite/eduserver/api"
eduinthttp "github.com/matrix-org/dendrite/eduserver/inthttp"
federationSenderAPI "github.com/matrix-org/dendrite/federationsender/api"
@@ -188,15 +186,6 @@ func (b *BaseDendrite) UserAPIClient() userapi.UserInternalAPI {
return userAPI
}
-// CurrentStateAPIClient returns CurrentStateInternalAPI for hitting the currentstateserver over HTTP.
-func (b *BaseDendrite) CurrentStateAPIClient() currentstateAPI.CurrentStateInternalAPI {
- stateAPI, err := currentstateinthttp.NewCurrentStateAPIClient(b.Cfg.CurrentStateAPIURL(), b.httpClient)
- if err != nil {
- logrus.WithError(err).Panic("UserAPIClient failed", b.httpClient)
- }
- return stateAPI
-}
-
// EDUServerClient returns EDUServerInputAPI for hitting the EDU server over HTTP
func (b *BaseDendrite) EDUServerClient() eduServerAPI.EDUServerInputAPI {
e, err := eduinthttp.NewEDUServerClient(b.Cfg.EDUServerURL(), b.httpClient)
diff --git a/internal/setup/monolith.go b/internal/setup/monolith.go
index f79ebae4..2274283e 100644
--- a/internal/setup/monolith.go
+++ b/internal/setup/monolith.go
@@ -20,7 +20,6 @@ import (
appserviceAPI "github.com/matrix-org/dendrite/appservice/api"
"github.com/matrix-org/dendrite/clientapi"
"github.com/matrix-org/dendrite/clientapi/api"
- currentstateAPI "github.com/matrix-org/dendrite/currentstateserver/api"
eduServerAPI "github.com/matrix-org/dendrite/eduserver/api"
"github.com/matrix-org/dendrite/federationapi"
federationSenderAPI "github.com/matrix-org/dendrite/federationsender/api"
@@ -53,7 +52,6 @@ type Monolith struct {
RoomserverAPI roomserverAPI.RoomserverInternalAPI
ServerKeyAPI serverKeyAPI.ServerKeyInternalAPI
UserAPI userapi.UserInternalAPI
- StateAPI currentstateAPI.CurrentStateInternalAPI
KeyAPI keyAPI.KeyInternalAPI
// Optional
@@ -65,17 +63,17 @@ func (m *Monolith) AddAllPublicRoutes(csMux, ssMux, keyMux, mediaMux *mux.Router
clientapi.AddPublicRoutes(
csMux, &m.Config.ClientAPI, m.KafkaProducer, m.AccountDB,
m.FedClient, m.RoomserverAPI,
- m.EDUInternalAPI, m.AppserviceAPI, m.StateAPI, transactions.New(),
+ m.EDUInternalAPI, m.AppserviceAPI, transactions.New(),
m.FederationSenderAPI, m.UserAPI, m.KeyAPI, m.ExtPublicRoomsProvider,
)
federationapi.AddPublicRoutes(
ssMux, keyMux, &m.Config.FederationAPI, m.UserAPI, m.FedClient,
m.KeyRing, m.RoomserverAPI, m.FederationSenderAPI,
- m.EDUInternalAPI, m.StateAPI, m.KeyAPI,
+ m.EDUInternalAPI, m.KeyAPI,
)
mediaapi.AddPublicRoutes(mediaMux, &m.Config.MediaAPI, m.UserAPI, m.Client)
syncapi.AddPublicRoutes(
csMux, m.KafkaConsumer, m.UserAPI, m.RoomserverAPI,
- m.KeyAPI, m.StateAPI, m.FedClient, &m.Config.SyncAPI,
+ m.KeyAPI, m.FedClient, &m.Config.SyncAPI,
)
}
diff --git a/internal/test/config.go b/internal/test/config.go
index e2106de4..72cd0e6e 100644
--- a/internal/test/config.go
+++ b/internal/test/config.go
@@ -87,7 +87,6 @@ func MakeConfig(configDir, kafkaURI, database, host string, startPort int) (*con
// the table names are globally unique. But we might not want to
// rely on that in the future.
cfg.AppServiceAPI.Database.ConnectionString = config.DataSource(database)
- cfg.CurrentStateServer.Database.ConnectionString = config.DataSource(database)
cfg.FederationSender.Database.ConnectionString = config.DataSource(database)
cfg.KeyServer.Database.ConnectionString = config.DataSource(database)
cfg.MediaAPI.Database.ConnectionString = config.DataSource(database)
@@ -98,7 +97,6 @@ func MakeConfig(configDir, kafkaURI, database, host string, startPort int) (*con
cfg.UserAPI.DeviceDatabase.ConnectionString = config.DataSource(database)
cfg.AppServiceAPI.InternalAPI.Listen = assignAddress()
- cfg.CurrentStateServer.InternalAPI.Listen = assignAddress()
cfg.EDUServer.InternalAPI.Listen = assignAddress()
cfg.FederationAPI.InternalAPI.Listen = assignAddress()
cfg.FederationSender.InternalAPI.Listen = assignAddress()
@@ -110,7 +108,6 @@ func MakeConfig(configDir, kafkaURI, database, host string, startPort int) (*con
cfg.UserAPI.InternalAPI.Listen = assignAddress()
cfg.AppServiceAPI.InternalAPI.Connect = cfg.AppServiceAPI.InternalAPI.Listen
- cfg.CurrentStateServer.InternalAPI.Connect = cfg.CurrentStateServer.InternalAPI.Listen
cfg.EDUServer.InternalAPI.Connect = cfg.EDUServer.InternalAPI.Listen
cfg.FederationAPI.InternalAPI.Connect = cfg.FederationAPI.InternalAPI.Listen
cfg.FederationSender.InternalAPI.Connect = cfg.FederationSender.InternalAPI.Listen