aboutsummaryrefslogtreecommitdiff
path: root/src/garage/main.rs
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-09-14 16:09:38 +0200
committerAlex Auvolat <alex@adnab.me>2022-09-14 16:09:38 +0200
commite46dc2a8ef8a12e49aed3883b34b538b5f65ca31 (patch)
tree19bb547df310c40ead34b14b6bad3c8e1d408397 /src/garage/main.rs
parent80fdbfb0aa1b7186db3aeef888c0954748a35c62 (diff)
downloadgarage-e46dc2a8ef8a12e49aed3883b34b538b5f65ca31.tar.gz
garage-e46dc2a8ef8a12e49aed3883b34b538b5f65ca31.zip
Allow for hostnames in bootstrap_peers and rpc_public_addr (fix #353)resolve-peer-names
Diffstat (limited to 'src/garage/main.rs')
-rw-r--r--src/garage/main.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/garage/main.rs b/src/garage/main.rs
index 0eca24ae..e5cba553 100644
--- a/src/garage/main.rs
+++ b/src/garage/main.rs
@@ -162,7 +162,13 @@ async fn cli_command(opt: Opt) -> Result<(), Error> {
} else {
let node_id = garage_rpc::system::read_node_id(&config.as_ref().unwrap().metadata_dir)
.err_context(READ_KEY_ERROR)?;
- if let Some(a) = config.as_ref().and_then(|c| c.rpc_public_addr) {
+ if let Some(a) = config.as_ref().and_then(|c| c.rpc_public_addr.as_ref()) {
+ use std::net::ToSocketAddrs;
+ let a = a
+ .to_socket_addrs()
+ .ok_or_message("unable to resolve rpc_public_addr specified in config file")?
+ .next()
+ .ok_or_message("unable to resolve rpc_public_addr specified in config file")?;
(node_id, a)
} else {
let default_addr = SocketAddr::new(