Multi-tenancy: the inbuxa-features crate, the permission ceiling and tenant disk quota (MT-12, MT-13, MT-14, MT-15, MT-16, MT-19, MT-20)

New crate crates/features (inbuxa-features), AGPL-3.0-only, holding the
tenancy rules. Hooks in common: a tenant's roles and permission lists cap
its people's permissions; a change to a tenant, or to a role a tenant holds,
drops its members' cached permissions; delivery and every other write check
the tenant's maxDiskQuota; usedDiskQuota reads the tenant usage counter.
The default Tenant Administrator role gains sysTenantGet and sysTenantQuery.
This commit is contained in:
2026-09-18 15:19:58 -07:00
parent b6b345a129
commit ad0db8b2b0
18 changed files with 1398 additions and 5 deletions
+18
View File
@@ -0,0 +1,18 @@
[package]
name = "inbuxa-features"
description = "INBUXA's rebuilt features: behavior Stalwart ships only in its Enterprise Edition, rebuilt clean-room"
license = "AGPL-3.0-only"
version = "0.16.22"
edition = "2024"
[dependencies]
registry = { path = "../registry" }
jmap_proto = { path = "../jmap-proto" }
store = { path = "../store" }
trc = { path = "../trc" }
types = { path = "../types" }
utils = { path = "../utils" }
ahash = { version = "0.8.12", features = ["serde"] }
[dev-dependencies]
tokio = { version = "1.53", features = ["macros", "rt"] }