mirror of
https://github.com/neondatabase/neon.git
synced 2026-05-16 20:50:37 +00:00
## Problem Storage controller uses unencrypted HTTP requests for pageserver management API. Closes: https://github.com/neondatabase/cloud/issues/24283 ## Summary of changes - Implement `http_utils::server::Server` with TLS support. - Replace `hyper0::server::Server` with `http_utils::server::Server` in pageserver. - Add HTTPS handler for pageserver management API. - Generate local SSL certificates in neon local.
47 lines
1.2 KiB
Rust
47 lines
1.2 KiB
Rust
use super::*;
|
|
|
|
#[test]
|
|
fn test_node_metadata_v1_backward_compatibilty() {
|
|
let v1 = serde_json::to_vec(&serde_json::json!({
|
|
"host": "localhost",
|
|
"port": 23,
|
|
"http_host": "localhost",
|
|
"http_port": 42,
|
|
}));
|
|
|
|
assert_eq!(
|
|
serde_json::from_slice::<NodeMetadata>(&v1.unwrap()).unwrap(),
|
|
NodeMetadata {
|
|
postgres_host: "localhost".to_string(),
|
|
postgres_port: 23,
|
|
http_host: "localhost".to_string(),
|
|
http_port: 42,
|
|
https_port: None,
|
|
other: HashMap::new(),
|
|
}
|
|
)
|
|
}
|
|
|
|
#[test]
|
|
fn test_node_metadata_v2_backward_compatibilty() {
|
|
let v2 = serde_json::to_vec(&serde_json::json!({
|
|
"host": "localhost",
|
|
"port": 23,
|
|
"http_host": "localhost",
|
|
"http_port": 42,
|
|
"https_port": 123,
|
|
}));
|
|
|
|
assert_eq!(
|
|
serde_json::from_slice::<NodeMetadata>(&v2.unwrap()).unwrap(),
|
|
NodeMetadata {
|
|
postgres_host: "localhost".to_string(),
|
|
postgres_port: 23,
|
|
http_host: "localhost".to_string(),
|
|
http_port: 42,
|
|
https_port: Some(123),
|
|
other: HashMap::new(),
|
|
}
|
|
)
|
|
}
|