This is an automated email from the ASF dual-hosted git repository.
remm pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push:
new a84f5a116e Support raw IPv6 for the service host
a84f5a116e is described below
commit a84f5a116e0c2897442bf56347fe0400b3595c06
Author: remm <[email protected]>
AuthorDate: Fri Mar 6 19:24:46 2026 +0100
Support raw IPv6 for the service host
BZ69970
---
.../tribes/membership/cloud/KubernetesMembershipProvider.java | 10 +++++++++-
webapps/docs/changelog.xml | 8 ++++++++
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git
a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
index fe65a27227..c30603cd95 100644
---
a/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
+++
b/java/org/apache/catalina/tribes/membership/cloud/KubernetesMembershipProvider.java
@@ -46,6 +46,9 @@ import org.apache.tomcat.util.json.JSONParser;
public class KubernetesMembershipProvider extends CloudMembershipProvider {
+ private static final String IPV6_URL =
"%s://[%s]:%s/api/%s/namespaces/%s/pods";
+ private static final String URL = "%s://%s:%s/api/%s/namespaces/%s/pods";
+
private static final Log log =
LogFactory.getLog(KubernetesMembershipProvider.class);
private Path saTokenPath;
@@ -122,7 +125,12 @@ public class KubernetesMembershipProvider extends
CloudMembershipProvider {
namespace = URLEncoder.encode(namespace, "UTF-8");
labels = labels == null ? null : URLEncoder.encode(labels, "UTF-8");
- url = String.format("%s://%s:%s/api/%s/namespaces/%s/pods", protocol,
masterHost, masterPort, ver, namespace);
+ String urlFormat = URL;
+ if (masterHost != null && masterHost.indexOf(':') != -1) {
+ // [] must be used around raw IPv6
+ urlFormat = IPV6_URL;
+ }
+ url = String.format(urlFormat, protocol, masterHost, masterPort, ver,
namespace);
if (labels != null && !labels.isEmpty()) {
url = url + "?labelSelector=" + labels;
}
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 8b28a45f2b..9b9bd7a01e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -193,6 +193,14 @@
</fix>
</changelog>
</subsection>
+ <subsection name="Cluster">
+ <changelog>
+ <fix>
+ <bug>69970</bug>: Support raw IPv6 in Kubernetes membership provider
+ for the service host. (remm)
+ </fix>
+ </changelog>
+ </subsection>
<subsection name="Web applications">
<changelog>
<add>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]