- Rust 100%
|
|
||
|---|---|---|
| crates | ||
| docs | ||
| .env.example | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
GuildWine
Federated, cryptographic messenger server foundation for MLS.
The current codebase establishes architecture and correctness primitives, including typed and transactional RocksDB, exact indexed TTL, reliable per-device event replay, signed commands, bounded runtime admission, and the atomic persistence boundary for spaces and MLS-conversation projections.
Product workflows, the MLS engine itself, QR enrollment wire operations, federation transport, and LiveKit provisioning remain intentionally unimplemented. Their contracts are documented before feature development starts.
Development
cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-targets
Run the server with environment variables:
GW_SERVER__BIND="127.0.0.1:8080" \
GW_SERVER__DATABASE="./db" \
GW_REGISTRATION__INITIAL_TOKEN="replace-me" \
GW_REGISTRATION__INITIAL_TOKEN_MAX_REGISTRATIONS=1 \
GW_WELLKNOWN__DOMAIN="example.org" \
cargo run -p guildwine-server
Double underscores separate nested configuration keys, so fields containing an
underscore remain unambiguous (GW_SERVER__REQUEST_BODY). A local .env is
loaded for development. Real environment values override it, and both override
/etc/guildwine/config.*.
Перед добавлением функциональности прочитайте русскоязычное руководство разработчика.