Cargo.toml•12 kB
[workspace]
resolver = "2"
members = [
"bin/bedrock",
"bin/cyclone",
"bin/edda",
"bin/forklift",
"bin/hoist",
"bin/innit",
"bin/innitctl",
"bin/luminork",
"bin/module-index",
"bin/nats-stream-copy-data",
"bin/openapi-extractor",
"bin/pinga",
"bin/rebaser",
"bin/rebuildinator",
"bin/sdf",
"bin/si-fs",
"bin/veritech",
"lib/acceptable",
"lib/acceptable-macros",
"lib/acceptable-tests",
"lib/audit-database",
"lib/audit-logs-stream",
"lib/auth-api-client",
"lib/bedrock-server",
"lib/billing-events",
"lib/buck2-resources",
"lib/bytes-lines-codec",
"lib/concurrent-extensions",
"lib/config-file",
"lib/cyclone-client",
"lib/cyclone-core",
"lib/cyclone-server",
"lib/dal",
"lib/dal-macros",
"lib/dal-materialized-views",
"lib/dal-materialized-views-macros",
"lib/dal-test",
"lib/data-warehouse-stream-client",
"lib/edda-client",
"lib/edda-core",
"lib/edda-server",
"lib/forklift-server",
"lib/frigg",
"lib/innit-client",
"lib/innit-core",
"lib/innit-server",
"lib/innitctl",
"lib/joi-validator",
"lib/luminork-server",
"lib/module-index-client",
"lib/module-index-server",
"lib/nats-dead-letter-queue",
"lib/nats-multiplexer",
"lib/nats-multiplexer-client",
"lib/nats-multiplexer-core",
"lib/nats-std",
"lib/nats-subscriber",
"lib/naxum",
"lib/naxum-extractor-acceptable",
"lib/object-tree",
"lib/pending-events",
"lib/permissions",
"lib/pinga-client",
"lib/pinga-core",
"lib/pinga-server",
"lib/rebaser-client",
"lib/rebaser-core",
"lib/rebaser-server",
"lib/sdf-core",
"lib/sdf-extract",
"lib/sdf-server",
"lib/sdf-test",
"lib/sdf-v1-routes-attribute",
"lib/sdf-v1-routes-module",
"lib/sdf-v1-routes-session",
"lib/sdf-v1-routes-variant",
"lib/shuttle-core",
"lib/shuttle-server",
"lib/si-aws-config",
"lib/si-crypto",
"lib/si-data-acmpca",
"lib/si-data-nats",
"lib/si-data-pg",
"lib/si-data-spicedb",
"lib/si-data-ssm",
"lib/si-db",
"lib/si-events-rs",
"lib/si-filesystem",
"lib/si-firecracker",
"lib/si-frontend-mv-types-macros",
"lib/si-frontend-mv-types-rs",
"lib/si-frontend-types-rs",
"lib/si-generate-template",
"lib/si-hash",
"lib/si-id",
"lib/si-jwt-public-key",
"lib/si-layer-cache",
"lib/si-pkg",
"lib/si-pool-noodle",
"lib/si-posthog-rs",
"lib/si-runtime-rs",
"lib/si-service",
"lib/si-settings",
"lib/si-split-graph",
"lib/si-std",
"lib/si-test-macros",
"lib/si-tls",
"lib/telemetry-application-rs",
"lib/telemetry-http-rs",
"lib/telemetry-nats-rs",
"lib/telemetry-rs",
"lib/telemetry-utils-rs",
"lib/tokio-dedicated-executor",
"lib/tokio-watchdog",
"lib/veritech-client",
"lib/veritech-core",
"lib/veritech-server",
]
[workspace.package]
version = "0.1.0"
authors = ["System Initiative Inc. <info@systeminit.com>"]
license = "Apache-2.0"
repository = "https://github.com/systeminit/si"
edition = "2024"
rust-version = "1.86"
publish = false
[workspace.dependencies]
askama = { version = "0.14.0", features = ["default", "serde_json"] }
async-nats = { version = "0.39.0", features = ["service"] }
async-openai = "0.26.0"
async-recursion = "1.1.1"
async-trait = "0.1.83"
aws-config = { version = "=1.5.18", features = ["behavior-version-latest"] } # pinned because very next version (1.6.0) starts pulling in `aws-lc-rs`/`aws-lc-sys` which include native C code
aws-credential-types = "1.2.3"
aws-sdk-acmpca = { version = "1.70.0", default-features = false, features = ["rt-tokio"] }
aws-sdk-firehose = "=1.68.0" # pinned because very next version (1.69.0) starts pulling in `aws-lc-rs`/`aws-lc-sys` which include native C code
aws-sdk-s3 = { version = "=1.50.0" }
aws-sdk-ssm = { version = "1.71.0", default-features = false, features = ["rt-tokio"] }
aws-sdk-sts = { version = "1.68.0", default-features = false, features = ["rt-tokio"] }
# setting smithy like so to avoid pulling in aws-lc-rs for aws-sdk-ssm
aws-smithy-http-client = { version = "1.0.0", features = ["rustls-ring"] }
aws-smithy-runtime = { version = "1.8.1", features = ["client", "tls-rustls"] }
aws-smithy-runtime-api = { version = "=1.8.0" }
aws-smithy-types = { version = "=1.3.1" }
axum = { version = "0.6.20", features = ["macros", "multipart", "ws"] } # todo: upgrade this alongside hyper/http/tokio-tungstenite
backtrace = "0.3.71"
base64 = "0.22.1"
blake3 = "1.5.5"
bollard = "0.18.1"
bytes = "1.9.0"
chrono = { version = "0.4.39", features = ["serde"] }
ciborium = "0.2.2"
clap = { version = "4.5.23", features = ["color", "derive", "env", "wrap_help"] }
color-eyre = "0.6.4"
config = { version = "0.14.1", default-features = false, features = ["toml"] }
console-subscriber = { version = "0.4.1", default-features = false }
convert_case = "0.6.0"
core_affinity = "0.8.3"
crossbeam-queue = { version = "0.3.11" }
darling = "0.20.10"
dashmap = "6.1.0"
deadpool = { version = "0.12.1", features = ["rt_tokio_1"] }
deadpool-postgres = { version = "0.14.0", features = ["serde"] }
derive_builder = "0.20.2"
derive_more = "0.99.17"
devicemapper = { version = "=0.34.1" }
diff = "0.1.13"
directories = "5.0.1"
dyn-clone = "1.0.17"
env_logger = "0.11.6"
fastrace = "0.7.4"
flate2 = "1.0.35"
foyer = { version = "0.14.1", features = ["tracing"] }
fs4 = "0.12.0"
fuser = { version = "0.16.0", default-features = false }
futures = "0.3.31"
futures-lite = "2.5.0"
glob = "0.3.1"
handlebars = "6.3.2"
hex = "0.4.3"
http = "0.2.12" # todo: upgrade this alongside hyper/axum/tokio-tungstenite/tower-http
hyper = { version = "0.14.28", features = ["client", "http1", "runtime", "server"] } # todo: upgrade this alongside http/axum/tokio-tungstenite/tower-http
hyperlocal = { version = "0.8.0", default-features = false, features = ["client"] } # todo: using the very latest of hyper client 1.x, we _may_ be able to phase this crate
iftree = "1.0.5"
indexmap = { version = "2.7.0", features = ["serde", "std"] }
indicatif = "0.17.11"
indoc = "2.0.5"
insta = { version = "1.42.2", features = ["glob", "json"] }
inventory = "0.3.20"
itertools = "0.13.0"
json-patch = "4.0.0"
jsonptr = "0.7.1"
jwt-simple = { version = "0.12.11", default-features = false, features = ["pure-rust"] }
krata-loopdev = "0.0.21"
lazy_static = "1.5.0"
log = "0.4"
logroller = "0.1.9"
manyhow = { version = "0.11.4", features = ["darling"] }
mime_guess = { version = "=2.0.4" } # TODO(fnichol): 2.0.5 sets an env var in build.rs which needs to be tracked, required by reqwest
miniz_oxide = { version = "0.8.0", features = ["simd"] }
mixtrics = { version = "0.0.3", features = ["opentelemetry_0_26"] }
monostate = "0.1.13"
names = { version = "0.14.0", default-features = false }
nix = { version = "0.29.0", features = ["fs", "ioctl", "mount", "poll", "process", "signal", "user"] }
nkeys = "0.4.0"
num_cpus = "1.16.0"
once_cell = "1.20.2"
opentelemetry = { version = "0.26.0", features = ["trace"] }
opentelemetry-otlp = { version = "0.26.0", features = ["metrics", "trace"] }
opentelemetry-semantic-conventions = "0.14.0"
opentelemetry_sdk = { version = "0.26.0", features = ["rt-tokio"] }
ordered-float = { version = "4.5.0", features = ["serde"] }
ouroboros = "0.18.4"
parking_lot = "0.12.3"
paste = "1.0.15"
pathdiff = "0.2.3"
petgraph = { version = "0.6.5", features = ["serde-1"] }
pin-project-lite = "0.2.15"
postcard = { version = "1.1.1", features = ["use-std"] }
postgres-types = { version = "0.2.8", features = ["derive"] }
pretty_assertions_sorted = "1.2.3"
proc-macro2 = "1.0.92"
procfs = "0.17.0"
quote = "1.0.37"
rand = "0.8.5"
rcgen = { version = "0.13.2", default-features = false, features = ["pem", "ring"] }
refinery = { version = "0.8.14", features = ["tokio-postgres"] }
regex = "1.11.1"
remain = "0.2.14"
reqwest = { version = "0.12.9", default-features = false, features = ["json", "multipart", "rustls-tls"] }
ring = "=0.17.5" # Upgrading this is possible, but a pain, so we don't want to pick up every new minor version (see: https://github.com/facebook/buck2/commit/91af40b66960d003067c3d241595fb53d1e636c8)
ringmap = "0.1.3"
rust-s3 = { version = "0.34.0-rc4", default-features = false, features = ["fail-on-err", "tokio-rustls-tls"] }
rustls = { version = "0.23.19", default-features = false } # NOTE(nick,fletcher): rustls switched to "aws-lc-rs" as its default crypto provider, but we want ring (i.e. we disable the default feature for "aws-lc-rs")
rustls-native-certs = "0.8.1"
rustls-pemfile = { version = "2.2.0" }
sea-orm = { version = "1.1.2", features = ["debug-print", "macros", "runtime-tokio-rustls", "sqlx-postgres", "with-chrono"] }
serde = { version = "1.0.216", features = ["derive", "rc"] }
serde-aux = "4.5.0"
serde-tuple-vec-map = "1.0.1"
serde_json = { version = "1.0.133", features = ["preserve_order"] }
serde_path_to_error = { version = "0.1.16" }
serde_with = "3.14.0"
serde_yaml = "0.9.33" # NOTE(nick): this has been archived upstream
sodiumoxide = "0.2.7"
spicedb-client = { version = "0.1.1", features = ["tls"] }
spicedb-grpc = "0.1.1"
strum = { version = "0.26.3", features = ["derive"] }
syn = { version = "2.0.90", features = ["extra-traits", "full"] }
sysinfo = "0.33.0"
tar = "0.4.43"
tempfile = "3.14.0"
test-log = { version = "0.2.16", default-features = false, features = ["trace"] }
thiserror = "2.0.6"
thread-priority = "1.2.0"
time = "0.3.37"
tokio = { version = "1.42.0", features = ["full"] }
tokio-postgres = { version = "0.7.12", features = ["runtime", "with-chrono-0_4", "with-serde_json-1"] }
tokio-postgres-rustls = { version = "0.13.0" }
tokio-rustls = { version = "0.26.2", default-features = false }
tokio-serde = { version = "0.9.0", features = ["json"] }
tokio-stream = { version = "0.1.17", features = ["sync", "time"] }
tokio-tungstenite = "0.20.1" # todo: pinning back from 0.21.0, upgrade this alongside hyper/http/axum/tokio-tungstenite,tower-http
tokio-util = { version = "0.7.10", features = ["codec", "rt"] }
tokio-vsock = { version = "0.7.0" }
toml = { version = "0.8.19" }
tonic = { version = "0.12.1" }
tower = { version = "0.4.13", features = ["full"] }
tower-http = { version = "0.4.4", features = ["compression-br", "compression-deflate", "compression-gzip", "cors", "decompression-deflate", "decompression-gzip", "trace"] } # todo: pinning back to 0.4.4, upgrade this alongside hyper/http/axum/tokio-tungstenite
tracing = { version = "0.1.41" }
tracing-appender = "0.2.3"
tracing-opentelemetry = "0.27.0"
tracing-subscriber = { version = "0.3.20", features = ["env-filter", "json", "std"] }
tracing-tunnel = "0.1.0"
trybuild = { version = "1.0.101", features = ["diff"] }
tryhard = "0.5.1"
ulid = { version = "1.1.3", features = ["serde"] }
url = { version = "2.5.4", features = ["serde"] }
utoipa = { version = "5.3.1", features = ["axum_extras"] }
uuid = { version = "1.11.0", features = ["serde", "v4"] }
version_check = "0.9.5"
webpki-roots = { version = "0.25.4" }
x509-parser = { version = "0.17.0" }
xxhash-rust = { version = "0.8.12", features = ["const_xxh3", "xxh3"] }
y-sync = { version = "0.4.0", features = ["net"] }
yrs = { version = "0.17.4" }
[profile.release]
debug = true
[patch.crates-io]
# pending a potential merge and release of
# https://github.com/softprops/hyperlocal/pull/53
hyperlocal = { git = "https://github.com/fnichol/hyperlocal.git", branch = "pub-unix-stream" }
# pending a potential merge and release of
# https://github.com/durch/rust-s3/pull/372
# Note that this helps us to narrow down the number of `ring`/`rustls` versions to 1 each
rust-s3 = { git = "https://github.com/ScuffleTV/rust-s3.git", branch = "troy/rustls" }
# pending merging of patches upstream
spicedb-client = { git = "https://github.com/systeminit/spicedb-client.git", branch = "si-stable" }
# pending merging of patches upstream
spicedb-grpc = { git = "https://github.com/systeminit/spicedb-client.git", branch = "si-stable" }
# pending a potential merge and release of
# https://github.com/jbg/tokio-postgres-rustls/pull/18
tokio-postgres-rustls = { git = "https://github.com/jbg/tokio-postgres-rustls.git", branch = "master" }