mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-04 12:02:55 +00:00
Now proxy binary accepts `--auth-backend` CLI option, which determines
auth scheme and cluster routing method. Following backends are currently
implemented:
* legacy
old method, when username ends with `@zenith` it uses md5 auth dbname as
the cluster name; otherwise, it sends a login link and waits for the console
to call back
* console
new SCRAM-based console API; uses SNI info to select the destination
cluster
* postgres
uses postgres to select auth secrets of existing roles. Useful for local
testing
* link
sends login link for all usernames
45 lines
1.1 KiB
TOML
45 lines
1.1 KiB
TOML
[package]
|
|
name = "proxy"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
anyhow = "1.0"
|
|
async-trait = "0.1"
|
|
base64 = "0.13.0"
|
|
bytes = { version = "1.0.1", features = ['serde'] }
|
|
clap = "3.0"
|
|
futures = "0.3.13"
|
|
hashbrown = "0.11.2"
|
|
hex = "0.4.3"
|
|
hmac = "0.12.1"
|
|
hyper = "0.14"
|
|
lazy_static = "1.4.0"
|
|
md5 = "0.7.0"
|
|
parking_lot = "0.12"
|
|
pin-project-lite = "0.2.7"
|
|
rand = "0.8.3"
|
|
reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "rustls-tls"] }
|
|
routerify = "3"
|
|
rustls = "0.20.0"
|
|
rustls-pemfile = "0.2.1"
|
|
scopeguard = "1.1.0"
|
|
serde = "1"
|
|
serde_json = "1"
|
|
sha2 = "0.10.2"
|
|
socket2 = "0.4.4"
|
|
thiserror = "1.0.30"
|
|
tokio = { version = "1.17", features = ["macros"] }
|
|
tokio-postgres = { git = "https://github.com/zenithdb/rust-postgres.git", rev="d052ee8b86fff9897c77b0fe89ea9daba0e1fa38" }
|
|
tokio-rustls = "0.23.0"
|
|
url = "2.2.2"
|
|
|
|
utils = { path = "../libs/utils" }
|
|
metrics = { path = "../libs/metrics" }
|
|
workspace_hack = { version = "0.1", path = "../workspace_hack" }
|
|
|
|
[dev-dependencies]
|
|
rcgen = "0.8.14"
|
|
rstest = "0.12"
|
|
tokio-postgres-rustls = "0.9.0"
|