183 lines · 5.5 KB · TOML
RawDownload
[workspace]resolver = "3"members = [    "crates/scion-core",    "crates/scion-object",    "crates/scion-store",    "crates/scion-store-crdb",    "crates/scion-store-s3",    "crates/scion-merge",    "crates/scion-history",    "crates/scion-derived",    "crates/scion-redaction",    "crates/scion-policy",    "crates/scion-auth",    "crates/scion-config",    "crates/scion-obs",    "crates/scion-proto",    "crates/scion-server",    "crates/scion-cache",    "crates/scion-daemon",    "crates/scion-wc",    "crates/scion-cli",    "crates/scion-import",    "crates/scion-refmodel",    "crates/scion-testkit",    "crates/scion-conformance",] [workspace.package]version = "0.1.0"edition = "2024"rust-version = "1.98"license = "Apache-2.0"publish = falserepository = "https://github.com/scion-scm/scion" [workspace.lints.rust]unsafe_code = "deny" [workspace.lints.clippy]unwrap_used = "deny"expect_used = "deny"panic = "deny"# Frozen PLAN section 2 signatures use nested types (Arc<dyn Fn..>, Vec<(.., Option<..>)>).type_complexity = "allow" [workspace.dependencies]# ---- internal crates ----scion-core = { path = "crates/scion-core" }scion-object = { path = "crates/scion-object" }scion-store = { path = "crates/scion-store" }scion-store-crdb = { path = "crates/scion-store-crdb" }scion-store-s3 = { path = "crates/scion-store-s3" }scion-merge = { path = "crates/scion-merge" }scion-history = { path = "crates/scion-history" }scion-derived = { path = "crates/scion-derived" }scion-redaction = { path = "crates/scion-redaction" }scion-policy = { path = "crates/scion-policy" }scion-auth = { path = "crates/scion-auth" }scion-config = { path = "crates/scion-config" }scion-obs = { path = "crates/scion-obs" }scion-proto = { path = "crates/scion-proto" }scion-server = { path = "crates/scion-server" }scion-cache = { path = "crates/scion-cache" }scion-daemon = { path = "crates/scion-daemon" }scion-wc = { path = "crates/scion-wc" }scion-cli = { path = "crates/scion-cli" }scion-import = { path = "crates/scion-import" }scion-refmodel = { path = "crates/scion-refmodel" }scion-testkit = { path = "crates/scion-testkit" }scion-conformance = { path = "crates/scion-conformance" } # ---- async runtime ----tokio = { version = "=1.53.3", features = ["full"] }tokio-stream = { version = "=0.1.19", features = ["net", "sync", "fs"] }tokio-util = { version = "=0.7.20", features = ["io", "codec"] }futures = "=0.3.34"pin-project-lite = "=0.2.17" # ---- gRPC / HTTP ----tonic = { version = "=0.14.6", features = ["transport", "tls-ring", "tls-native-roots", "codegen", "router", "server", "channel"] }tonic-prost = "=0.14.6"tonic-prost-build = "=0.14.6"prost = "=0.14.4"prost-types = "=0.14.4"tower = { version = "=0.5.3", features = ["limit", "load-shed", "util", "timeout"] }tower-layer = "=0.3.3"tower-service = "=0.3.3"http = "=1.5.0"http-body = "=1.1.0"http-body-util = "=0.1.5"hyper = { version = "=1.12.0", features = ["client", "server", "http1", "http2"] }hyper-util = { version = "=0.1.21", features = ["tokio", "client", "client-legacy", "server", "server-auto", "http1", "http2", "service"] } # ---- TLS ----rustls = { version = "=0.23.45", default-features = false, features = ["ring", "std", "logging", "tls12"] }tokio-rustls = { version = "=0.26.6", default-features = false, features = ["ring", "logging", "tls12"] }rustls-pemfile = "=2.2.0"rcgen = "=0.14.10" # ---- hashing / compression ----blake3 = "=1.8.7"zstd = "=0.13.3" # ---- core utilities ----bytes = "=1.12.1"async-trait = "=0.1.92"thiserror = "=2.0.21"anyhow = "=1.0.104"hex = "=0.4.3"base64 = "=0.22.1" # ---- serialization / config ----serde = { version = "=1.0.229", features = ["derive"] }serde_json = "=1.0.154"toml = "=0.9.12"serde_path_to_error = "=0.1.20"humantime = "=2.4.0"humantime-serde = "=1.1.1" # ---- storage backends ----tokio-postgres = "=0.7.18"deadpool-postgres = "=0.14.2"tokio-postgres-rustls = { version = "=0.14.0", default-features = false, features = ["ring"] }object_store = { version = "=0.12.5", features = ["aws"] } # ---- concurrency / caches ----parking_lot = "=0.12.5"dashmap = "=6.2.1"im = "=15.1.0"lru = "=0.16.4"arc-swap = "=1.9.2" # ---- policy / server ----notify = "=8.2.0"governor = "=0.10.4" # ---- auth / crypto ----pasetors = { version = "=0.7.8", default-features = false, features = ["std", "v4"] }ed25519-dalek = { version = "=2.2.0", features = ["pkcs8", "pem", "rand_core"] }sha2 = "=0.10.9"subtle = "=2.6.1"reqwest = { version = "=0.12.28", default-features = false, features = ["rustls-tls", "json", "http2"] } # ---- observability ----axum = "=0.8.9"prometheus = { version = "=0.14.0", default-features = false }tracing = "=0.1.44"tracing-subscriber = { version = "=0.3.23", features = ["json", "env-filter", "fmt", "registry"] } # ---- client / filesystem ----rustix = { version = "=1.1.5", features = ["fs"] }ignore = "=0.4.33"fs4 = "=0.13.1"tempfile = "=3.27.0" # ---- git ----gix = { version = "=0.89.0", default-features = false, features = ["max-performance-safe", "basic", "sha1", "blocking-network-client"] } # ---- CLI ----clap = { version = "=4.6.7", features = ["derive", "env"] }schemars = "=1.2.3"jsonschema = { version = "=0.58.6", default-features = false }assert_cmd = "=2.2.2" # ---- randomness ----rand = "=0.9.5"rand_chacha = "=0.9.0" # ---- dev-only ----proptest = "=1.12.0"wiremock = "=0.6.5"similar = "=2.7.0"uuid = { version = "=1.28.0", features = ["v4"] } [profile.test]opt-level = 1 [profile.test.package."*"]opt-level = 3 [profile.dev.package."*"]opt-level = 2