Skip to content

[Bug] Cryostat failed to connect to JVM targets over IPv6 #964

@tthvo

Description

@tthvo

Current Behavior

When running cryostat and a sample app in an IPv6-enabled k8s cluster (i.e. pod only have IPv6 internal IP), some error occurred:

2025-07-01 18:31:10,700 WARN  [io.cry.tar.TargetConnectionManager] (executor-thread-17) java.lang.IllegalArgumentException: invalid authority: fd01::8fe3:74d9:1635:18a7:2585.monitoring.pod:9097
2025-07-01 18:31:11,527 WARN  [io.cry.cor.net.JFRConnectionToolkit] (executor-thread-11) connection attempt failed.

Getting pod IP (internal):

$ kubectl get pods quarkus-test-654659cbbb-z6csh -o=wide
NAME                            READY   STATUS    RESTARTS   AGE   IP                               NODE                               NOMINATED NODE   READINESS GATES
quarkus-test-654659cbbb-z6csh   1/1     Running   0          10m   fd01::8fe3:74d9:1635:18a7:2585   i-<redacted-id>.ec2.internal   <none>           <none>

Expected Behavior

Cryostat should be able to connect to the target and no errors occur.

Steps To Reproduce

  1. Have an IPv6 cluster ready. If using kind, you can use the following configurations:
    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    networking:
      ipFamily: ipv6
    
  2. Install cryostat via helm chart or the operator
  3. Deploy a sample JVM app

Environment

- Environment: k8s v1.32 with only IPv6 podCIDR and serviceCIDR
- Version: Cryostat 4 (latest snapshot or latest v4 release)

Anything else?

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status

In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions