Kirill Bulatov
81cad6277a
Move and library crates into a dedicated directory and rename them
2022-04-21 13:30:33 +03:00
Dmitry Ivanov
c9d897f9b6
[proxy] Update rustls ( #1510 )
2022-04-15 12:06:25 +03:00
Dmitry Ivanov
4af87f3d60
[proxy] Add SCRAM auth mechanism implementation ( #1050 )
...
* [proxy] Add SCRAM auth
* [proxy] Implement some tests for SCRAM
* Refactoring + test fixes
* Hide SCRAM mechanism behind `#[cfg(test)]`
Currently we only use it in tests, so we hide all relevant
module behind `#[cfg(test)]` to prevent "unused item" warnings.
2022-04-13 03:00:32 +03:00
Dmitry Ivanov
f5da652388
[proxy] Enable keepalives for all tcp connections ( #1448 )
2022-03-31 20:44:57 +03:00
Dmitry Ivanov
705f51db27
[proxy] Propagate some errors to user ( #1329 )
...
* [proxy] Propagate most errors to user
This change enables propagation of most errors to the user
(e.g. auth and connectivity errors). Some of them will be
stripped of sensitive information.
As a side effect, most occurrences of `anyhow::Error` were
replaced with concrete error types.
* [proxy] Box weighty errors
2022-03-16 21:20:04 +03:00
Dmitry Ivanov
a26d565282
[proxy] Replace private static map with a public CancelMap
...
This is a cleaner approach which might facilitate testing.
2022-02-17 11:54:27 +03:00
Dmitry Ivanov
a47dade622
[proxy] Migrate to async
...
This change makes most parts of the code asynchronous, except
for the `mgmt` subsystem (we're going to drop it anyway).
Co-authored-by: bojanserafimov <bojan.serafimov7@gmail.com >
2022-02-17 11:54:27 +03:00
Kirill Bulatov
c5b5905ed3
Remove parking_lot dependency from workspace
2022-02-10 08:33:22 -05:00
Dmitry Ivanov
703716228e
Use &str instead of String in BeMessage::ErrorResponse
...
There's no need in allocating string literals in the heap.
2022-01-24 18:49:05 +03:00
Dmitry Ivanov
127df96635
[proxy] Make NUM_BYTES_PROXIED_COUNTER more precise
2022-01-21 17:31:19 +03:00
Dmitry Ivanov
d3542c34f1
Refactoring: use anyhow::Context's methods where possible
2022-01-19 16:33:48 +03:00
bojanserafimov
8af1b43074
proxy: Add new metrics ( #1132 )
2022-01-14 19:12:43 -05:00
bojanserafimov
5b9391b51d
Support "query cancel" in proxy ( #1052 )
2022-01-05 17:27:12 -05:00
bojanserafimov
24eca8d58b
Parse cancel message in pq_proto ( #1060 )
2021-12-28 16:43:44 -05:00
Dmitry Ivanov
0ccfc62e88
[proxy] Pass PostgreSQL version to client
...
Fixes #779
2021-11-17 16:28:44 +03:00
Dmitry Ivanov
b55cf773a8
[proxy] Streamline control- and dataflow
2021-11-17 16:28:44 +03:00
Alexey Kondratov
d423142623
Proxy: wait for kick on .pgpass connection ( zenithdb/console#227 )
2021-10-27 20:24:23 +03:00
Dmitry Ivanov
85116a8375
[proxy] Prevent TLS stream from hanging
...
This change causes writer halves of a TLS stream to always flush after a
portion of bytes has been written by `std::io::copy`. Furthermore, some
cosmetic and minor functional changes are made to facilitate debug.
2021-10-20 14:15:49 +03:00
anastasia
d7c9dd06f4
Implement graceful shutdown at 'pageserver stop':
...
- perform checkpoint for each tenant repository.
- wait for the completion of all threads.
Add new option 'immediate' to 'pageserver stop' command to terminate the pageserver immediately.
2021-10-11 13:35:01 +03:00
Alexey Kondratov
2c99e2461a
Allow usage of the compute hostname in the proxy
2021-10-01 16:24:35 +03:00
Stas Kelvich
cf8e27a554
Proxy: pass database name in console too
2021-10-01 14:27:52 +03:00
Arthur Petukhovsky
22e15844ae
Fix clippy errors ( #673 )
2021-09-27 18:59:30 +03:00
Stas Kelvich
aae41e8661
Proxy pass for existing users.
...
Ask console to check per-cluster auth info.
2021-09-27 11:56:43 +03:00
Patrick Insinger
5ac3cb1c72
TLS for postgres_backend and proxy
...
Add TLS support to `postgres_backend`.
Implement this support in `proxy`.
Other applications must opt-in and provide a `rustls::ServerConfig`.
2021-09-01 10:29:19 -07:00
sharnoff
263e03f4b8
Improve code & text formatting in proxy welcome
...
Adds some named formatting variables to make things a little more
clear. Also adds some words & commas to the message itself.
2021-08-30 12:41:47 +03:00
Stas Kelvich
a118557331
review fixes
2021-07-19 14:52:41 +03:00
Stas Kelvich
70926adaba
allow to specify redirect_uri in proxy
2021-07-19 14:52:41 +03:00
Stas Kelvich
aa404b60fe
change mgmt json format; add cli flags
2021-07-19 14:52:41 +03:00
Stas Kelvich
1b6d99db7c
unfreeze client session upon callback
2021-07-19 14:52:41 +03:00
Stas Kelvich
605b90c6c7
do an actual proxy pass
2021-07-19 14:52:41 +03:00
Stas Kelvich
dab34c3dd6
distinguish between new and old users
2021-07-19 14:52:41 +03:00
Stas Kelvich
bf45bef284
md5 auth for postgres_backend.rs
2021-07-19 14:52:41 +03:00