Stalwart Keep
Stalwart Keep is an ephemeral state and messaging server, and the recommended in-memory backend for a Stalwart cluster. It is a separate program that runs on its own servers, and Stalwart uses it for three purposes:
- As the in-memory store, which holds rate-limit counters, greylisting entries, locks and short-lived tokens.
- As the cluster coordinator, which carries cache invalidations and change notifications between nodes. The coordinator’s
Defaultvariant reuses the in-memory store’s Keep connection. - As the tier of the cache swap feature, which keeps snapshots of account caches.
Keep cannot serve as the data store, the blob store or the search store, and it cannot be a member of a sharded in-memory store.
Keep holds everything in memory and writes nothing to disk. This suits what Stalwart keeps there, but keys written by expressions and Sieve scripts do not survive a member crash. Redis with persistence is the backend to use when they must.
Connecting Stalwart gives the configuration, and the rest of the Stalwart Keep section covers installing and running the server.