Skip to content

Commit e4c8359

Browse files
authored
Merge pull request #91 from tankyleo/2026-02-relax-postgres-addr-setting
Relax validation on the postgres service address setting
2 parents 674acca + 945b348 commit e4c8359

File tree

2 files changed

+6
-18
lines changed

2 files changed

+6
-18
lines changed

rust/server/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ fn main() {
151151
};
152152

153153
let rest_svc_listener = TcpListener::bind(&config.bind_address).await.unwrap_or_else(|e| {
154-
error!("Failed to bind listening port: {}", e);
154+
error!("Failed to bind to address {}: {}", config.bind_address, e);
155155
std::process::exit(-1);
156156
});
157157
info!("Listening for incoming connections on {}{}", config.bind_address, crate::vss_service::BASE_PATH_PREFIX);

rust/server/src/util/config.rs

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ struct TomlConfig {
2727

2828
#[derive(Deserialize)]
2929
struct ServerConfig {
30-
bind_address: Option<SocketAddr>,
30+
bind_address: Option<String>,
3131
}
3232

3333
#[derive(Deserialize)]
@@ -39,7 +39,7 @@ struct JwtAuthConfig {
3939
struct PostgreSQLConfig {
4040
username: Option<String>,
4141
password: Option<String>,
42-
address: Option<SocketAddr>,
42+
address: Option<String>,
4343
default_database: Option<String>,
4444
vss_database: Option<String>,
4545
tls: Option<TlsConfig>,
@@ -58,7 +58,7 @@ struct LogConfig {
5858

5959
// Encapsulates the result of reading both the environment variables and the config file.
6060
pub(crate) struct Configuration {
61-
pub(crate) bind_address: SocketAddr,
61+
pub(crate) bind_address: String,
6262
pub(crate) rsa_pem: Option<String>,
6363
pub(crate) postgresql_prefix: String,
6464
pub(crate) default_db: String,
@@ -99,13 +99,7 @@ pub(crate) fn load_configuration(config_file_path: Option<&str>) -> Result<Confi
9999
None => TomlConfig::default(), // All fields are set to `None`
100100
};
101101

102-
let bind_address_env = read_env(BIND_ADDR_VAR)?
103-
.map(|addr| {
104-
addr.parse().map_err(|e| {
105-
format!("Unable to parse the bind address environment variable: {}", e)
106-
})
107-
})
108-
.transpose()?;
102+
let bind_address_env = read_env(BIND_ADDR_VAR)?;
109103
let bind_address = read_config(
110104
bind_address_env,
111105
server_config.and_then(|c| c.bind_address),
@@ -146,13 +140,7 @@ pub(crate) fn load_configuration(config_file_path: Option<&str>) -> Result<Confi
146140

147141
let username_env = read_env(PSQL_USER_VAR)?;
148142
let password_env = read_env(PSQL_PASS_VAR)?;
149-
let address_env: Option<SocketAddr> = read_env(PSQL_ADDR_VAR)?
150-
.map(|address| {
151-
address.parse().map_err(|e| {
152-
format!("Unable to parse the postgresql address environment variable: {}", e)
153-
})
154-
})
155-
.transpose()?;
143+
let address_env: Option<String> = read_env(PSQL_ADDR_VAR)?;
156144
let default_db_env = read_env(PSQL_DB_VAR)?;
157145
let vss_db_env = read_env(PSQL_VSS_DB_VAR)?;
158146
let tls_config_env = read_env(PSQL_TLS_VAR)?;

0 commit comments

Comments
 (0)