An administrator moves a domain in from inbuxa Admin. The server keeps the guide's answers as an inbuxa:Migration and runs the bundled inbuxa-migrate on them as a child process: preview, move, final pass, stop, the new passwords once, close. Spec: docs/spec/features/migrations.md. - sysMigrationRun, for administrators only; a tenant is refused. - The child writes as the administrator who started the migration, with a run token held in memory, taken from loopback only and never cached, and audited as via: migration. - The source's secret is held in memory and passed in the child's environment, which holds only it, the token and PATH. - The image carries inbuxa-migrate 27.1-rc.8, pinned by checksum. - Tests: system::migration with a stand-in engine, and on demand the real engine against a Dovecot (tests/resources/migrations/dovecot-source).
59 lines
1.9 KiB
TOML
59 lines
1.9 KiB
TOML
[package]
|
|
name = "services"
|
|
version.workspace = true
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
store = { path = "../store" }
|
|
nlp = { path = "../nlp" }
|
|
common = { path = "../common" }
|
|
utils = { path = "../utils" }
|
|
trc = { path = "../trc" }
|
|
email = { path = "../email" }
|
|
smtp = { path = "../smtp" }
|
|
groupware = { path = "../groupware" }
|
|
spam-filter = { path = "../spam-filter" }
|
|
types = { path = "../types" }
|
|
jmap_proto = { path = "../jmap-proto" }
|
|
jmap-tools = { version = "0.1" }
|
|
registry = { path = "../registry" }
|
|
inbuxa-features = { path = "../features" }
|
|
smtp-proto = { version = "0.2", features = ["rkyv", "serde"] }
|
|
tokio = { version = "1.53", features = ["rt", "net", "time", "sync", "macros", "process", "fs", "io-util"] }
|
|
mail-parser = { version = "0.11", features = ["full_encoding", "rkyv"] }
|
|
mail-builder = { version = "1.0" }
|
|
aho-corasick = { version = "1.1" }
|
|
calcard = { version = "0.3", features = ["rkyv"] }
|
|
serde_json = "1.0"
|
|
memory-stats = "1.2.0"
|
|
aes-gcm = "0.11.1"
|
|
p256 = { version = "0.13", features = ["ecdh"] }
|
|
hkdf = "0.13"
|
|
sha2 = "0.11"
|
|
reqwest = { version = "0.13", default-features = false, features = ["rustls", "http2"]}
|
|
base64 = "0.23"
|
|
dns-update = { version = "0.6" }
|
|
psl = "2"
|
|
# inbuxa: the deliverability check
|
|
mail-auth = { version = "0.13" }
|
|
futures = "0.3"
|
|
# inbuxa: links to inbuxa Relays (relay spec)
|
|
inbuxa-relay-proto = { path = "../relay-proto" }
|
|
rustls = { version = "0.23.43", default-features = false, features = ["std", "aws_lc_rs", "tls12"] }
|
|
rustls-pki-types = { version = "1" }
|
|
tokio-rustls = { version = "0.26", default-features = false, features = ["aws_lc_rs", "tls12"] }
|
|
tokio-tungstenite = "0.30"
|
|
hyper = { version = "1.11.1", features = ["client", "http1"] }
|
|
hyper-util = { version = "0.1.20", features = ["tokio"] }
|
|
http-body-util = "0.1"
|
|
x509-parser = "0.18"
|
|
|
|
[dev-dependencies]
|
|
|
|
[features]
|
|
test_mode = []
|
|
enterprise = []
|
|
|
|
[lints]
|
|
workspace = true
|