Dendrite is a second-generation Matrix homeserver written in Go!
Go to file
Neil Alexander 7d6461dd3c
Server key component (#1050)
* Server key API (works for monolith but not for polylith yet)

* Re-enable caching on server key API component

* Groundwork for HTTP APIs for server key API

* Hopefully implement HTTP for server key API

* Simplify public key request marshalling from map keys

* Update gomatrixserverlib

* go mod tidy

* Common -> internal

* remove keyring.go

* Update Docker Hub for server key API

* YAML is funny about indentation

* Wire in new server key API into hybrid monolith mode

* Create maps

* Route server key API endpoints on internal API mux

* Fix server key API URLs

* Add fetcher behaviour into server key API implementation

* Return error if we failed to fetch some keys

* Return results anyway

* Move things about a bit

* Remove unused code

* Fix comments, don't use federation sender URL in polylith mode

* Add server_key_api to sample config

* Review comments

* HTTP API to cache keys that have been requested

* Overwrite server_key_api listen in monolith hybrid mode
2020-05-27 10:19:24 +01:00
.github Add SyTest support to CI (#704) 2019-05-24 15:00:03 +01:00
appservice Miscellaneous fixes (#1060) 2020-05-26 14:41:16 +01:00
build Server key component (#1050) 2020-05-27 10:19:24 +01:00
clientapi Miscellaneous fixes (#1060) 2020-05-26 14:41:16 +01:00
cmd Server key component (#1050) 2020-05-27 10:19:24 +01:00
docs Update p2p docs 2020-05-27 09:39:26 +01:00
eduserver Miscellaneous fixes (#1060) 2020-05-26 14:41:16 +01:00
federationapi Separate muxes for public and internal APIs (#1056) 2020-05-22 11:43:17 +01:00
federationsender Miscellaneous fixes (#1060) 2020-05-26 14:41:16 +01:00
internal Server key component (#1050) 2020-05-27 10:19:24 +01:00
keyserver Separate muxes for public and internal APIs (#1056) 2020-05-22 11:43:17 +01:00
mediaapi dendritejs tweaks for persisting sqlite DBs (#1058) 2020-05-22 12:28:48 +01:00
publicroomsapi dendritejs tweaks for persisting sqlite DBs (#1058) 2020-05-22 12:28:48 +01:00
roomserver Convert room_aliases previous_events state_block and state_snapshot tables (#1064) 2020-05-27 09:36:09 +01:00
serverkeyapi Server key component (#1050) 2020-05-27 10:19:24 +01:00
syncapi Fix API paths 2020-05-22 14:14:39 +01:00
.dockerignore Docker Hub (#1053) 2020-05-21 13:02:28 +01:00
.gitignore Update .gitignore 2020-03-10 11:42:40 +00:00
.golangci.yml Get room versions from database (#918) 2020-03-17 18:00:10 +00:00
are-we-synapse-yet.list Direct messages (#1012) 2020-05-07 16:46:11 +01:00
are-we-synapse-yet.py Are we synapse yet? (#960) 2020-04-14 16:05:15 +01:00
build-dendritejs.sh Bake in git commit into dendritejs binary (#1048) 2020-05-19 16:42:30 +01:00
build.sh Unbreak the wasm build (#986) 2020-04-28 16:22:00 +01:00
dendrite-config.yaml Server key component (#1050) 2020-05-27 10:19:24 +01:00
go.mod Server key component (#1050) 2020-05-27 10:19:24 +01:00
go.sum Server key component (#1050) 2020-05-27 10:19:24 +01:00
LICENSE Add Apache Version 2.0 license and headers to all golang files 2017-04-21 00:40:52 +02:00
README.md Update INSTALL.md, move docs (#1034) 2020-05-14 16:49:18 +01:00
show-expected-fail-tests.sh Fix newlines between white/blacklist test names in buildkite annotations (#1003) 2020-05-04 14:48:49 +01:00
sytest-blacklist Move /room/{roomID}/state endpoints into client API (#606) (#962) 2020-04-14 18:36:08 +01:00
sytest-whitelist Miscellaneous fixes (#1060) 2020-05-26 14:41:16 +01:00

Dendrite Build Status Dendrite Dev on Matrix Dendrite on Matrix

Dendrite will be a second-generation Matrix homeserver written in Go.

It's still very much a work in progress, but installation instructions can be found in INSTALL.md. It is not recommended to use Dendrite as a production homeserver at this time.

An overview of the design can be found in DESIGN.md.

Contributing

Everyone is welcome to help out and contribute! See CONTRIBUTING.md to get started!

Please note that, as of February 2020, Dendrite now only targets Go 1.13 or later. Please ensure that you are using at least Go 1.13 when developing for Dendrite.

Discussion

For questions about Dendrite we have a dedicated room on Matrix #dendrite:matrix.org. Development discussion should happen in #dendrite-dev:matrix.org.

Progress

There's plenty still to do to make Dendrite usable! We're tracking progress in a project board.