aboutsummaryrefslogtreecommitdiff
path: root/cmd/dendrite-demo-yggdrasil
diff options
context:
space:
mode:
authorBenjamin Nater <me@bn4t.me>2022-02-21 16:36:03 +0100
committerGitHub <noreply@github.com>2022-02-21 15:36:03 +0000
commit280e9b19a195e3ce19f0fa5bc0e94bb09e397a23 (patch)
tree77579c27019628d0756e2fa5ab87e8bd505f6594 /cmd/dendrite-demo-yggdrasil
parenta02dd7721d8555391597444d185d402f94b626ae (diff)
Don't ignore config flag for yggdrasil demo if set (#2070)
* Don't ignore config flag for yggdrasil demo if set Signed-off-by: bn4t <me@bn4t.me> * run goimports Signed-off-by: bn4t <me@bn4t.me> * always override ServerName, PrivateKey and KeyID Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Diffstat (limited to 'cmd/dendrite-demo-yggdrasil')
-rw-r--r--cmd/dendrite-demo-yggdrasil/main.go58
1 files changed, 34 insertions, 24 deletions
diff --git a/cmd/dendrite-demo-yggdrasil/main.go b/cmd/dendrite-demo-yggdrasil/main.go
index 49e096bd..d16f0e9e 100644
--- a/cmd/dendrite-demo-yggdrasil/main.go
+++ b/cmd/dendrite-demo-yggdrasil/main.go
@@ -21,8 +21,11 @@ import (
"fmt"
"net"
"net/http"
+ "os"
"time"
+ "github.com/matrix-org/gomatrixserverlib"
+
"github.com/gorilla/mux"
"github.com/matrix-org/dendrite/appservice"
"github.com/matrix-org/dendrite/cmd/dendrite-demo-yggdrasil/embed"
@@ -42,8 +45,6 @@ import (
"github.com/matrix-org/dendrite/setup/config"
"github.com/matrix-org/dendrite/setup/mscs"
"github.com/matrix-org/dendrite/userapi"
- "github.com/matrix-org/gomatrixserverlib"
-
"github.com/sirupsen/logrus"
_ "github.com/mattn/go-sqlite3"
@@ -63,33 +64,42 @@ func main() {
if err != nil {
panic(err)
}
- /*
- ygg.SetMulticastEnabled(true)
- if instancePeer != nil && *instancePeer != "" {
- if err = ygg.SetStaticPeer(*instancePeer); err != nil {
- logrus.WithError(err).Error("Failed to set static peer")
- }
+
+ // iterate through the cli args and check if the config flag was set
+ configFlagSet := false
+ for _, arg := range os.Args {
+ if arg == "--config" || arg == "-config" {
+ configFlagSet = true
+ break
}
- */
+ }
cfg := &config.Dendrite{}
- cfg.Defaults(true)
+
+ // use custom config if config flag is set
+ if configFlagSet {
+ cfg = setup.ParseFlags(true)
+ } else {
+ cfg.Defaults(true)
+ cfg.Global.JetStream.StoragePath = config.Path(fmt.Sprintf("%s/", *instanceName))
+ cfg.UserAPI.AccountDatabase.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-account.db", *instanceName))
+ cfg.MediaAPI.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-mediaapi.db", *instanceName))
+ cfg.SyncAPI.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-syncapi.db", *instanceName))
+ cfg.RoomServer.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-roomserver.db", *instanceName))
+ cfg.KeyServer.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-keyserver.db", *instanceName))
+ cfg.FederationAPI.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-federationapi.db", *instanceName))
+ cfg.AppServiceAPI.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-appservice.db", *instanceName))
+ cfg.MSCs.MSCs = []string{"msc2836"}
+ cfg.MSCs.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-mscs.db", *instanceName))
+ if err = cfg.Derive(); err != nil {
+ panic(err)
+ }
+ }
+
+ // always override ServerName, PrivateKey and KeyID
cfg.Global.ServerName = gomatrixserverlib.ServerName(ygg.DerivedServerName())
cfg.Global.PrivateKey = ygg.PrivateKey()
- cfg.Global.KeyID = gomatrixserverlib.KeyID(signing.KeyID)
- cfg.Global.JetStream.StoragePath = config.Path(fmt.Sprintf("%s/", *instanceName))
- cfg.UserAPI.AccountDatabase.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-account.db", *instanceName))
- cfg.MediaAPI.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-mediaapi.db", *instanceName))
- cfg.SyncAPI.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-syncapi.db", *instanceName))
- cfg.RoomServer.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-roomserver.db", *instanceName))
- cfg.KeyServer.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-keyserver.db", *instanceName))
- cfg.FederationAPI.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-federationapi.db", *instanceName))
- cfg.AppServiceAPI.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-appservice.db", *instanceName))
- cfg.MSCs.MSCs = []string{"msc2836"}
- cfg.MSCs.Database.ConnectionString = config.DataSource(fmt.Sprintf("file:%s-mscs.db", *instanceName))
- if err = cfg.Derive(); err != nil {
- panic(err)
- }
+ cfg.Global.KeyID = signing.KeyID
base := base.NewBaseDendrite(cfg, "Monolith")
defer base.Close() // nolint: errcheck