mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-21 13:53:09 -06:00
Remove doc references to publicroomsapi
This commit is contained in:
parent
123bd57351
commit
27e081aec9
|
|
@ -51,7 +51,6 @@ var (
|
||||||
syncServerURL = flag.String("sync-api-server-url", "", "The base URL of the listening 'dendrite-sync-api-server' process. E.g. 'http://localhost:4200'")
|
syncServerURL = flag.String("sync-api-server-url", "", "The base URL of the listening 'dendrite-sync-api-server' process. E.g. 'http://localhost:4200'")
|
||||||
clientAPIURL = flag.String("client-api-server-url", "", "The base URL of the listening 'dendrite-client-api-server' process. E.g. 'http://localhost:4321'")
|
clientAPIURL = flag.String("client-api-server-url", "", "The base URL of the listening 'dendrite-client-api-server' process. E.g. 'http://localhost:4321'")
|
||||||
mediaAPIURL = flag.String("media-api-server-url", "", "The base URL of the listening 'dendrite-media-api-server' process. E.g. 'http://localhost:7779'")
|
mediaAPIURL = flag.String("media-api-server-url", "", "The base URL of the listening 'dendrite-media-api-server' process. E.g. 'http://localhost:7779'")
|
||||||
publicRoomsAPIURL = flag.String("public-rooms-api-server-url", "", "The base URL of the listening 'dendrite-public-rooms-api-server' process. E.g. 'http://localhost:7775'")
|
|
||||||
bindAddress = flag.String("bind-address", ":8008", "The listening port for the proxy.")
|
bindAddress = flag.String("bind-address", ":8008", "The listening port for the proxy.")
|
||||||
certFile = flag.String("tls-cert", "", "The PEM formatted X509 certificate to use for TLS")
|
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")
|
keyFile = flag.String("tls-key", "", "The PEM private key to use for TLS")
|
||||||
|
|
@ -121,13 +120,6 @@ func main() {
|
||||||
fmt.Fprintln(os.Stderr, "no --media-api-server-url specified.")
|
fmt.Fprintln(os.Stderr, "no --media-api-server-url specified.")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if *publicRoomsAPIURL == "" {
|
|
||||||
flag.Usage()
|
|
||||||
fmt.Fprintln(os.Stderr, "no --public-rooms-api-server-url specified.")
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
syncProxy, err := makeProxy(*syncServerURL)
|
syncProxy, err := makeProxy(*syncServerURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
|
@ -140,14 +132,8 @@ func main() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
publicRoomsProxy, err := makeProxy(*publicRoomsAPIURL)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
http.Handle("/_matrix/client/r0/sync", syncProxy)
|
http.Handle("/_matrix/client/r0/sync", syncProxy)
|
||||||
http.Handle("/_matrix/client/r0/directory/list/", publicRoomsProxy)
|
|
||||||
http.Handle("/_matrix/client/r0/publicRooms", publicRoomsProxy)
|
|
||||||
http.Handle("/_matrix/media/v1/", mediaProxy)
|
http.Handle("/_matrix/media/v1/", mediaProxy)
|
||||||
http.Handle("/", clientProxy)
|
http.Handle("/", clientProxy)
|
||||||
|
|
||||||
|
|
@ -159,8 +145,6 @@ func main() {
|
||||||
|
|
||||||
fmt.Println("Proxying requests to:")
|
fmt.Println("Proxying requests to:")
|
||||||
fmt.Println(" /_matrix/client/r0/sync => ", *syncServerURL+"/api/_matrix/client/r0/sync")
|
fmt.Println(" /_matrix/client/r0/sync => ", *syncServerURL+"/api/_matrix/client/r0/sync")
|
||||||
fmt.Println(" /_matrix/client/r0/directory/list => ", *publicRoomsAPIURL+"/_matrix/client/r0/directory/list")
|
|
||||||
fmt.Println(" /_matrix/client/r0/publicRooms => ", *publicRoomsAPIURL+"/_matrix/media/client/r0/publicRooms")
|
|
||||||
fmt.Println(" /_matrix/media/v1 => ", *mediaAPIURL+"/api/_matrix/media/v1")
|
fmt.Println(" /_matrix/media/v1 => ", *mediaAPIURL+"/api/_matrix/media/v1")
|
||||||
fmt.Println(" /* => ", *clientAPIURL+"/api/*")
|
fmt.Println(" /* => ", *clientAPIURL+"/api/*")
|
||||||
fmt.Println("Listening on ", *bindAddress)
|
fmt.Println("Listening on ", *bindAddress)
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,7 @@ Assuming that Postgres 9.5 (or later) is installed:
|
||||||
* Create the component databases:
|
* Create the component databases:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
for i in account device mediaapi syncapi roomserver serverkey federationsender publicroomsapi appservice naffka; do
|
for i in account device mediaapi syncapi roomserver serverkey federationsender currentstate appservice naffka; do
|
||||||
sudo -u postgres createdb -O dendrite dendrite_$i
|
sudo -u postgres createdb -O dendrite dendrite_$i
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
@ -176,17 +176,17 @@ The following contains scripts which will run all the required processes in orde
|
||||||
| | :7774
|
| | :7774
|
||||||
| |
|
| |
|
||||||
| |
|
| |
|
||||||
| | /directory +----------------------------------+
|
| |
|
||||||
| | +--------->| dendrite-public-rooms-api-server |<========++
|
| |
|
||||||
| | | +----------------------------------+ ||
|
| |
|
||||||
| | | :7775 | ||
|
| |
|
||||||
| | | +<-----------+ ||
|
| |
|
||||||
| | | | ||
|
| |
|
||||||
| | | /sync +--------------------------+ ||
|
| | /sync +--------------------------+
|
||||||
| | +--------->| dendrite-sync-api-server |<================++
|
| | +--------->| dendrite-sync-api-server |<================++
|
||||||
| | | | +--------------------------+ ||
|
| | | +--------------------------+ ||
|
||||||
| | | | :7773 | ^^ ||
|
| | | :7773 | ^^ ||
|
||||||
Matrix +------------------+ | | | | || client_data ||
|
Matrix +------------------+ | | | || client_data ||
|
||||||
Clients --->| client-api-proxy |-------+ +<-----------+ ++=============++ ||
|
Clients --->| client-api-proxy |-------+ +<-----------+ ++=============++ ||
|
||||||
+------------------+ | | | || ||
|
+------------------+ | | | || ||
|
||||||
:8008 | | CS API +----------------------------+ || ||
|
:8008 | | CS API +----------------------------+ || ||
|
||||||
|
|
@ -232,7 +232,6 @@ your client at `http://localhost:8008`.
|
||||||
--client-api-server-url "http://localhost:7771" \
|
--client-api-server-url "http://localhost:7771" \
|
||||||
--sync-api-server-url "http://localhost:7773" \
|
--sync-api-server-url "http://localhost:7773" \
|
||||||
--media-api-server-url "http://localhost:7774" \
|
--media-api-server-url "http://localhost:7774" \
|
||||||
--public-rooms-api-server-url "http://localhost:7775" \
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Federation proxy
|
### Federation proxy
|
||||||
|
|
@ -282,15 +281,6 @@ order to upload and retrieve media.
|
||||||
./bin/dendrite-media-api-server --config dendrite.yaml
|
./bin/dendrite-media-api-server --config dendrite.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
### Public room server
|
|
||||||
|
|
||||||
This implements `/directory` requests. Clients talk to this via the proxy
|
|
||||||
in order to retrieve room directory listings.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./bin/dendrite-public-rooms-api-server --config dendrite.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
### Federation API server
|
### Federation API server
|
||||||
|
|
||||||
This implements federation requests. Servers talk to this via the proxy in
|
This implements federation requests. Servers talk to this via the proxy in
|
||||||
|
|
|
||||||
|
|
@ -9,23 +9,22 @@ a request/response model like HTTP or RPC. Therefore, components can expose "int
|
||||||
Note in Monolith mode these are actually direct function calls and are not serialised HTTP requests.
|
Note in Monolith mode these are actually direct function calls and are not serialised HTTP requests.
|
||||||
|
|
||||||
```
|
```
|
||||||
Tier 1 Sync PublicRooms FederationAPI ClientAPI MediaAPI
|
Tier 1 Sync FederationAPI ClientAPI MediaAPI
|
||||||
Public Facing | .-----1------` | | | | | | | | |
|
Public Facing | | | | | | | | | |
|
||||||
2 | .-------3-----------------` | | | `--------|-|-|-|--11--------------------.
|
2 .-------3-----------------` | | | `--------|-|-|-|--11--------------------.
|
||||||
| | | .--------4----------------------------------` | | | |
|
| | .--------4----------------------------------` | | | |
|
||||||
| | | | .---5-----------` | | | | | |
|
| | | .---5-----------` | | | | | |
|
||||||
| | | | | .---6----------------------------` | | |
|
| | | | .---6----------------------------` | | |
|
||||||
| | | | | | | .-----7----------` | |
|
| | | | | | .-----7----------` | |
|
||||||
| | | | | | 8 | | 10 |
|
| | | | | 8 | | 10 |
|
||||||
| | | | | | | | `---9----. | |
|
| | | | | | | `---9----. | |
|
||||||
V V V V V V V V V V V
|
V V V V V V V V V V
|
||||||
Tier 2 Roomserver EDUServer FedSender AppService KeyServer ServerKeyAPI
|
Tier 2 Roomserver EDUServer FedSender AppService KeyServer ServerKeyAPI
|
||||||
Internal only | `------------------------12----------^ ^
|
Internal only | `------------------------12----------^ ^
|
||||||
`------------------------------------------------------------13----------`
|
`------------------------------------------------------------13----------`
|
||||||
|
|
||||||
Client ---> Server
|
Client ---> Server
|
||||||
```
|
```
|
||||||
- 1 (PublicRooms -> Roomserver): Calculating current auth for changing visibility
|
|
||||||
- 2 (Sync -> Roomserver): When making backfill requests
|
- 2 (Sync -> Roomserver): When making backfill requests
|
||||||
- 3 (FedAPI -> Roomserver): Calculating (prev/auth events) and sending new events, processing backfill/state/state_ids requests
|
- 3 (FedAPI -> Roomserver): Calculating (prev/auth events) and sending new events, processing backfill/state/state_ids requests
|
||||||
- 4 (ClientAPI -> Roomserver): Calculating (prev/auth events) and sending new events, processing /state requests
|
- 4 (ClientAPI -> Roomserver): Calculating (prev/auth events) and sending new events, processing /state requests
|
||||||
|
|
@ -46,20 +45,20 @@ In addition to this, all public facing components (Tier 1) talk to the `UserAPI`
|
||||||
```
|
```
|
||||||
.----1--------------------------------------------.
|
.----1--------------------------------------------.
|
||||||
V |
|
V |
|
||||||
Tier 1 Sync PublicRooms FederationAPI ClientAPI MediaAPI
|
Tier 1 Sync FederationAPI ClientAPI MediaAPI
|
||||||
Public Facing ^ ^ ^ ^
|
Public Facing ^ ^ ^
|
||||||
| | | |
|
| | |
|
||||||
2 | | |
|
2 | |
|
||||||
| `-3------------. |
|
| `-3------------. |
|
||||||
| | | |
|
| | |
|
||||||
| | | |
|
| | |
|
||||||
| .------4------` | |
|
| | |
|
||||||
| | .--------5-----|------------------------------`
|
| .--------4-----|------------------------------`
|
||||||
| | | |
|
| | |
|
||||||
Tier 2 Roomserver EDUServer FedSender AppService KeyServer ServerKeyAPI
|
Tier 2 Roomserver EDUServer FedSender AppService KeyServer ServerKeyAPI
|
||||||
Internal only | | ^ ^
|
Internal only | | ^ ^
|
||||||
| `-----6----------` |
|
| `-----5----------` |
|
||||||
`--------------------7--------`
|
`--------------------6--------`
|
||||||
|
|
||||||
|
|
||||||
Producer ----> Consumer
|
Producer ----> Consumer
|
||||||
|
|
@ -67,7 +66,6 @@ Producer ----> Consumer
|
||||||
- 1 (ClientAPI -> Sync): For tracking account data
|
- 1 (ClientAPI -> Sync): For tracking account data
|
||||||
- 2 (Roomserver -> Sync): For all data to send to clients
|
- 2 (Roomserver -> Sync): For all data to send to clients
|
||||||
- 3 (EDUServer -> Sync): For typing/send-to-device data to send to clients
|
- 3 (EDUServer -> Sync): For typing/send-to-device data to send to clients
|
||||||
- 4 (Roomserver -> PublicRooms): For tracking the current room name/topic/joined count/etc.
|
- 4 (Roomserver -> ClientAPI): For tracking memberships for profile updates.
|
||||||
- 5 (Roomserver -> ClientAPI): For tracking memberships for profile updates.
|
- 5 (EDUServer -> FedSender): For sending EDUs over federation
|
||||||
- 6 (EDUServer -> FedSender): For sending EDUs over federation
|
- 6 (Roomserver -> FedSender): For sending PDUs over federation, for tracking joined hosts.
|
||||||
- 7 (Roomserver -> FedSender): For sending PDUs over federation, for tracking joined hosts.
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue