mmodzelewski opened a new pull request, #3818: URL: https://github.com/apache/iggy/pull/3818
A node has one advertised_address, so a split-network cluster must pick a side: advertise the public address and in-VPC clients route out through the public edge, or advertise the private one and external clients cannot reach the cluster at all. Each roster node now takes advertised_addresses selectors (client_cidr + address). The transport-level peer IP picks the address by longest-prefix match, first declared wins a tie, with fallback to the catch-all advertised_address and then the roster ip. The selection feeds binary and HTTP cluster metadata and the 307 leader-redirect Location, so a redirected client stays on its own network. HTTP handlers see the peer address through axum connect-info on the plain listener; the TLS serve loop bypasses the make-service, so it stamps the same ConnectInfo extension per connection. Boot validation parses every selector strictly, rejects duplicate CIDRs within a node, and checks advertised endpoint conflicts per client network, since reusing one host:port across different networks is the point. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
