diff --git a/tansu-server/src/broker.rs b/tansu-server/src/broker.rs index 039f4bc..b42588d 100644 --- a/tansu-server/src/broker.rs +++ b/tansu-server/src/broker.rs @@ -69,6 +69,7 @@ pub struct Broker { context: Raft, applicator: Applicator, listener: Url, + advertised_listener: Url, #[allow(dead_code)] rack: Option, storage: S, @@ -87,6 +88,7 @@ where context: Raft, applicator: Applicator, listener: Url, + advertised_listener: Url, rack: Option, storage: S, groups: G, @@ -100,6 +102,7 @@ where context, applicator, listener, + advertised_listener, rack, storage, groups, @@ -119,8 +122,12 @@ where incarnation_id: self.incarnation_id, listeners: [Listener { name: "broker".into(), - host: self.listener.host_str().unwrap_or("localhost").to_owned(), - port: self.listener.port().unwrap_or(9092), + host: self + .advertised_listener + .host_str() + .unwrap_or("localhost") + .to_owned(), + port: self.advertised_listener.port().unwrap_or(9092), security_protocol: 0, }] .into(), diff --git a/tansu-server/src/main.rs b/tansu-server/src/main.rs index 31dad5b..4e4c486 100644 --- a/tansu-server/src/main.rs +++ b/tansu-server/src/main.rs @@ -101,6 +101,9 @@ struct Cli { #[arg(long, default_value = "tcp://0.0.0.0:9092")] kafka_listener_url: Url, + #[arg(long, default_value = "tcp://0.0.0.0:9092")] + kafka_advertised_listener_url: Url, + #[arg(long, default_value = "pg=postgres://postgres:postgres@localhost")] storage_engine: KeyValue, @@ -185,6 +188,7 @@ async fn main() -> Result<()> { raft.clone(), applicator.clone(), args.kafka_listener_url, + args.kafka_advertised_listener_url, args.kafka_rack, storage, groups,