Files
inbuxa-server/crates/services/Cargo.toml
T
jcoffey-dev fdf6d9df5d
ci / fork-checks (pull_request) Skipped
ci / build (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 11m8s
Migrations into this server: inbuxa:Migration
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).
2026-10-30 19:48:31 -07:00

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