mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-10 15:02:56 +00:00
This PR is simply the patch from https://github.com/neondatabase/neon/issues/4008 except we enabled `force_path_style` for custom endpoints. This is because at some version, the s3 sdk by default uses the virtual-host style access, which is not supported by MinIO in the default configuration. By enforcing path style access for custom endpoints, we can pass all e2e test cases. SDK 0.55 is not the latest version and we can bump it further later when all flaky tests in this PR are resolved. This PR also (hopefully) fixes flaky test `test_ondemand_download_timetravel`. close https://github.com/neondatabase/neon/issues/4008 Signed-off-by: Alex Chi <iskyzh@gmail.com>
238 lines
7.6 KiB
TOML
238 lines
7.6 KiB
TOML
[workspace]
|
|
members = [
|
|
"compute_tools",
|
|
"control_plane",
|
|
"pageserver",
|
|
"proxy",
|
|
"safekeeper",
|
|
"storage_broker",
|
|
"workspace_hack",
|
|
"trace",
|
|
"libs/*",
|
|
]
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
license = "Apache-2.0"
|
|
|
|
## All dependency versions, used in the project
|
|
[workspace.dependencies]
|
|
anyhow = { version = "1.0", features = ["backtrace"] }
|
|
async-stream = "0.3"
|
|
async-trait = "0.1"
|
|
atty = "0.2.14"
|
|
aws-config = { version = "0.55", default-features = false, features=["rustls"] }
|
|
aws-sdk-s3 = "0.25"
|
|
aws-smithy-http = "0.55"
|
|
aws-credential-types = "0.55"
|
|
aws-types = "0.55"
|
|
base64 = "0.13.0"
|
|
bincode = "1.3"
|
|
bindgen = "0.65"
|
|
bstr = "1.0"
|
|
byteorder = "1.4"
|
|
bytes = "1.0"
|
|
chrono = { version = "0.4", default-features = false, features = ["clock"] }
|
|
clap = { version = "4.0", features = ["derive"] }
|
|
close_fds = "0.3.2"
|
|
comfy-table = "6.1"
|
|
const_format = "0.2"
|
|
crc32c = "0.6"
|
|
crossbeam-utils = "0.8.5"
|
|
either = "1.8"
|
|
enum-map = "2.4.2"
|
|
enumset = "1.0.12"
|
|
fail = "0.5.0"
|
|
fs2 = "0.4.3"
|
|
futures = "0.3"
|
|
futures-core = "0.3"
|
|
futures-util = "0.3"
|
|
git-version = "0.3"
|
|
hashbrown = "0.13"
|
|
hashlink = "0.8.1"
|
|
hex = "0.4"
|
|
hex-literal = "0.4"
|
|
hmac = "0.12.1"
|
|
hostname = "0.3.1"
|
|
humantime = "2.1"
|
|
humantime-serde = "1.1.1"
|
|
hyper = "0.14"
|
|
hyper-tungstenite = "0.9"
|
|
itertools = "0.10"
|
|
jsonwebtoken = "8"
|
|
libc = "0.2"
|
|
md5 = "0.7.0"
|
|
memoffset = "0.8"
|
|
native-tls = "0.2"
|
|
nix = "0.26"
|
|
notify = "5.0.0"
|
|
num_cpus = "1.15"
|
|
num-traits = "0.2.15"
|
|
once_cell = "1.13"
|
|
opentelemetry = "0.18.0"
|
|
opentelemetry-otlp = { version = "0.11.0", default_features=false, features = ["http-proto", "trace", "http", "reqwest-client"] }
|
|
opentelemetry-semantic-conventions = "0.10.0"
|
|
parking_lot = "0.12"
|
|
pin-project-lite = "0.2"
|
|
prometheus = {version = "0.13", default_features=false, features = ["process"]} # removes protobuf dependency
|
|
prost = "0.11"
|
|
rand = "0.8"
|
|
regex = "1.4"
|
|
reqwest = { version = "0.11", default-features = false, features = ["rustls-tls"] }
|
|
reqwest-tracing = { version = "0.4.0", features = ["opentelemetry_0_18"] }
|
|
reqwest-middleware = "0.2.0"
|
|
routerify = "3"
|
|
rpds = "0.13"
|
|
rustls = "0.20"
|
|
rustls-pemfile = "1"
|
|
rustls-split = "0.3"
|
|
scopeguard = "1.1"
|
|
sentry = { version = "0.30", default-features = false, features = ["backtrace", "contexts", "panic", "rustls", "reqwest" ] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1"
|
|
serde_with = "2.0"
|
|
sha2 = "0.10.2"
|
|
signal-hook = "0.3"
|
|
socket2 = "0.5"
|
|
strum = "0.24"
|
|
strum_macros = "0.24"
|
|
svg_fmt = "0.4.1"
|
|
sync_wrapper = "0.1.2"
|
|
tar = "0.4"
|
|
test-context = "0.1"
|
|
thiserror = "1.0"
|
|
tls-listener = { version = "0.6", features = ["rustls", "hyper-h1"] }
|
|
tokio = { version = "1.17", features = ["macros"] }
|
|
tokio-io-timeout = "1.2.0"
|
|
tokio-postgres-rustls = "0.9.0"
|
|
tokio-rustls = "0.23"
|
|
tokio-stream = "0.1"
|
|
tokio-util = { version = "0.7", features = ["io"] }
|
|
toml = "0.7"
|
|
toml_edit = "0.19"
|
|
tonic = {version = "0.9", features = ["tls", "tls-roots"]}
|
|
tracing = "0.1"
|
|
tracing-error = "0.2.0"
|
|
tracing-opentelemetry = "0.18.0"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
url = "2.2"
|
|
uuid = { version = "1.2", features = ["v4", "serde"] }
|
|
walkdir = "2.3.2"
|
|
webpki-roots = "0.23"
|
|
x509-parser = "0.15"
|
|
|
|
## TODO replace this with tracing
|
|
env_logger = "0.10"
|
|
log = "0.4"
|
|
|
|
## Libraries from neondatabase/ git forks, ideally with changes to be upstreamed
|
|
postgres = { git = "https://github.com/neondatabase/rust-postgres.git", rev="0bc41d8503c092b040142214aac3cf7d11d0c19f" }
|
|
postgres-native-tls = { git = "https://github.com/neondatabase/rust-postgres.git", rev="0bc41d8503c092b040142214aac3cf7d11d0c19f" }
|
|
postgres-protocol = { git = "https://github.com/neondatabase/rust-postgres.git", rev="0bc41d8503c092b040142214aac3cf7d11d0c19f" }
|
|
postgres-types = { git = "https://github.com/neondatabase/rust-postgres.git", rev="0bc41d8503c092b040142214aac3cf7d11d0c19f" }
|
|
tokio-postgres = { git = "https://github.com/neondatabase/rust-postgres.git", rev="0bc41d8503c092b040142214aac3cf7d11d0c19f" }
|
|
tokio-tar = { git = "https://github.com/neondatabase/tokio-tar.git", rev="404df61437de0feef49ba2ccdbdd94eb8ad6e142" }
|
|
|
|
## Other git libraries
|
|
heapless = { default-features=false, features=[], git = "https://github.com/japaric/heapless.git", rev = "644653bf3b831c6bb4963be2de24804acf5e5001" } # upstream release pending
|
|
|
|
## Local libraries
|
|
compute_api = { version = "0.1", path = "./libs/compute_api/" }
|
|
consumption_metrics = { version = "0.1", path = "./libs/consumption_metrics/" }
|
|
metrics = { version = "0.1", path = "./libs/metrics/" }
|
|
pageserver_api = { version = "0.1", path = "./libs/pageserver_api/" }
|
|
postgres_backend = { version = "0.1", path = "./libs/postgres_backend/" }
|
|
postgres_connection = { version = "0.1", path = "./libs/postgres_connection/" }
|
|
postgres_ffi = { version = "0.1", path = "./libs/postgres_ffi/" }
|
|
pq_proto = { version = "0.1", path = "./libs/pq_proto/" }
|
|
remote_storage = { version = "0.1", path = "./libs/remote_storage/" }
|
|
safekeeper_api = { version = "0.1", path = "./libs/safekeeper_api" }
|
|
storage_broker = { version = "0.1", path = "./storage_broker/" } # Note: main broker code is inside the binary crate, so linking with the library shouldn't be heavy.
|
|
tenant_size_model = { version = "0.1", path = "./libs/tenant_size_model/" }
|
|
tracing-utils = { version = "0.1", path = "./libs/tracing-utils/" }
|
|
utils = { version = "0.1", path = "./libs/utils/" }
|
|
|
|
## Common library dependency
|
|
workspace_hack = { version = "0.1", path = "./workspace_hack/" }
|
|
|
|
## Build dependencies
|
|
criterion = "0.4"
|
|
rcgen = "0.10"
|
|
rstest = "0.17"
|
|
tempfile = "3.4"
|
|
tonic-build = "0.9"
|
|
|
|
[patch.crates-io]
|
|
|
|
# This is only needed for proxy's tests.
|
|
# TODO: we should probably fork `tokio-postgres-rustls` instead.
|
|
tokio-postgres = { git = "https://github.com/neondatabase/rust-postgres.git", rev="0bc41d8503c092b040142214aac3cf7d11d0c19f" }
|
|
|
|
# Changes the MAX_THREADS limit from 4096 to 32768.
|
|
# This is a temporary workaround for using tracing from many threads in safekeepers code,
|
|
# until async safekeepers patch is merged to the main.
|
|
sharded-slab = { git = "https://github.com/neondatabase/sharded-slab.git", rev="98d16753ab01c61f0a028de44167307a00efea00" }
|
|
|
|
################# Binary contents sections
|
|
|
|
[profile.release]
|
|
# This is useful for profiling and, to some extent, debug.
|
|
# Besides, debug info should not affect the performance.
|
|
debug = true
|
|
|
|
# disable debug symbols for all packages except this one to decrease binaries size
|
|
[profile.release.package."*"]
|
|
debug = false
|
|
|
|
[profile.release-line-debug]
|
|
inherits = "release"
|
|
debug = 1 # true = 2 = all symbols, 1 = line only
|
|
[profile.release-line-debug-lto]
|
|
inherits = "release"
|
|
debug = 1 # true = 2 = all symbols, 1 = line only
|
|
lto = true
|
|
|
|
[profile.release-line-debug-size]
|
|
inherits = "release"
|
|
debug = 1 # true = 2 = all symbols, 1 = line only
|
|
opt-level = "s"
|
|
[profile.release-line-debug-zize]
|
|
inherits = "release"
|
|
debug = 1 # true = 2 = all symbols, 1 = line only
|
|
opt-level = "z"
|
|
[profile.release-line-debug-size-lto]
|
|
inherits = "release"
|
|
debug = 1 # true = 2 = all symbols, 1 = line only
|
|
opt-level = "s"
|
|
lto = true
|
|
[profile.release-line-debug-zize-lto]
|
|
inherits = "release"
|
|
debug = 1 # true = 2 = all symbols, 1 = line only
|
|
opt-level = "z"
|
|
lto = true
|
|
|
|
[profile.release-no-debug]
|
|
inherits = "release"
|
|
debug = false # true = 2 = all symbols, 1 = line only
|
|
|
|
[profile.release-no-debug-size]
|
|
inherits = "release"
|
|
debug = false # true = 2 = all symbols, 1 = line only
|
|
opt-level = "s"
|
|
[profile.release-no-debug-zize]
|
|
inherits = "release"
|
|
debug = false # true = 2 = all symbols, 1 = line only
|
|
opt-level = "z"
|
|
|
|
[profile.release-no-debug-size-lto]
|
|
inherits = "release"
|
|
debug = false # true = 2 = all symbols, 1 = line only
|
|
opt-level = "s"
|
|
lto = true
|
|
|
|
[profile.release-no-debug-zize-lto]
|
|
inherits = "release"
|
|
debug = false # true = 2 = all symbols, 1 = line only
|
|
opt-level = "z"
|
|
lto = true
|