feat(docker): use cargo-zigbuild for native cross-compilation

- Switch sqlx, reqwest, tiberius from native-tls to rustls to eliminate
  OpenSSL dependency, enabling clean cross-compilation
- Use cargo-zigbuild to cross-compile dbx-web for both amd64 and arm64
  natively without QEMU emulation for Rust compilation
- Frontend and backend stages use --platform=$BUILDPLATFORM to avoid
  emulation during build
- Remove libssl3 from runtime image (no longer needed with rustls)
This commit is contained in:
t8y2
2026-05-05 21:05:44 +08:00
parent e0cd2e88a6
commit 2ac29879e4
3 changed files with 144 additions and 42 deletions
+3 -3
View File
@@ -14,12 +14,12 @@ chrono = { version = "0.4", features = ["serde"] }
rust_decimal = { version = "1", features = ["serde"] }
anyhow = "1"
uuid = { version = "1", features = ["v4", "serde"] }
sqlx = { version = "0.8", features = ["runtime-tokio", "tls-native-tls", "mysql", "postgres", "sqlite", "json", "chrono", "uuid", "rust_decimal"] }
sqlx = { version = "0.8", features = ["runtime-tokio", "tls-rustls", "mysql", "postgres", "sqlite", "json", "chrono", "uuid", "rust_decimal"] }
redis = { version = "0.32.2", features = ["tokio-comp", "tls-rustls", "tokio-rustls-comp"] }
rustls = { version = "0.23", features = ["aws-lc-rs"] }
duckdb = { version = "1.3.2", features = ["bundled"] }
tiberius = { version = "0.12.3", features = ["tds73", "chrono", "rust_decimal"] }
reqwest = { version = "0.12", features = ["json", "stream"] }
tiberius = { version = "0.12.3", default-features = false, features = ["tds73", "chrono", "rust_decimal", "rustls"] }
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls"] }
futures = "0.3"
mongodb = "3.2.5"
oracle-rs = "0.1"