mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-06 14:33:10 -06:00
This ensures that if the device list updater is already backing off a node, we don't try to call processServer again anyway for server just because the server name arrived in the channel. Otherwise we can keep trying to hit a remote server that is offline or not behaving every second and that spams the logs too. |
||
|---|---|---|
| .. | ||
| api | ||
| consumers | ||
| internal | ||
| inthttp | ||
| producers | ||
| storage | ||
| types | ||
| keyserver.go | ||
| README.md | ||
Key Server
This is an internal component which manages E2E keys from clients. It handles all the Key Management APIs with the exception of /keys/changes which is handled by Sync API. This component is designed to shard by user ID.
Keys are uploaded and stored in this component, and key changes are emitted to a Kafka topic for downstream components such as Sync API.
Internal APIs
PerformUploadKeysstores identity keys and one-time public keys for given user(s).PerformClaimKeysacquires one-time public keys for given user(s). This may involve outbound federation calls.QueryKeysreturns identity keys for given user(s). This may involve outbound federation calls. This component may then cache federated identity keys to avoid repeatedly hitting remote servers.- A topic which emits identity keys every time there is a change (addition or deletion).
### Endpoint mappings
- Client API maps
/keys/uploadtoPerformUploadKeys. - Client API maps
/keys/querytoQueryKeys. - Client API maps
/keys/claimtoPerformClaimKeys. - Federation API maps
/user/keys/querytoQueryKeys. - Federation API maps
/user/keys/claimtoPerformClaimKeys. - Sync API maps
/keys/changesto consuming from the Kafka topic.