mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-08 05:52:55 +00:00
Switches the storcon away from using diesel's synchronous APIs in favour of `diesel-async`. Advantages: * less C dependencies, especially no openssl, which might be behind the bug: https://github.com/neondatabase/cloud/issues/21010 * Better to only have async than mix of async plus `spawn_blocking` We had to turn off usage of the connection pool for migrations, as diesel migrations don't support async APIs. Thus we still use `spawn_blocking` in that one place. But this is explicitly done in one of the `diesel-async` examples.
57 lines
1.4 KiB
TOML
57 lines
1.4 KiB
TOML
[package]
|
|
name = "storage_controller"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[[bin]]
|
|
name = "storage_controller"
|
|
path = "src/main.rs"
|
|
|
|
[features]
|
|
default = []
|
|
# Enables test-only APIs and behaviors
|
|
testing = []
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
bytes.workspace = true
|
|
chrono.workspace = true
|
|
clap.workspace = true
|
|
fail.workspace = true
|
|
futures.workspace = true
|
|
hex.workspace = true
|
|
hyper0.workspace = true
|
|
humantime.workspace = true
|
|
itertools.workspace = true
|
|
lasso.workspace = true
|
|
once_cell.workspace = true
|
|
pageserver_api.workspace = true
|
|
pageserver_client.workspace = true
|
|
postgres_connection.workspace = true
|
|
rand.workspace = true
|
|
reqwest = { workspace = true, features = ["stream"] }
|
|
routerify.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
thiserror.workspace = true
|
|
tokio.workspace = true
|
|
tokio-util.workspace = true
|
|
tracing.workspace = true
|
|
measured.workspace = true
|
|
scopeguard.workspace = true
|
|
strum.workspace = true
|
|
strum_macros.workspace = true
|
|
|
|
diesel = { version = "2.2.6", features = [
|
|
"serde_json",
|
|
"chrono",
|
|
] }
|
|
diesel-async = { version = "0.5.2", features = ["postgres", "bb8", "async-connection-wrapper"] }
|
|
diesel_migrations = { version = "2.2.0" }
|
|
scoped-futures = "0.1.4"
|
|
|
|
utils = { path = "../libs/utils/" }
|
|
metrics = { path = "../libs/metrics/" }
|
|
control_plane = { path = "../control_plane" }
|
|
workspace_hack = { version = "0.1", path = "../workspace_hack" } |