IPv6 Bind Address not applied to management API
- Dominant language
- Java
- Stars
- 2.1k
- Forks
- 522
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 137
Description
### Describe the bug
Providing `JAVA_OPTS` with value `-Djava.net.preferIPv6Addresses=true -Dquarkus.http.host=[::]` via `extraEnv` allows me to bind API host to ipv6 address successfully. However, this doesn't work for management API.
Might not be a bug - but rather a different way to do this. However, it would be nice in general that bind address can be provided from Helm values rather than env vars :)
### To Reproduce
Polaris build [commit] https://github.com/apache/polaris/commit/d33454874f69f952da2dfb301d0330d6e8d2296e
Install via helm chart in IPv6-only or dualstack subnet with preferred IPv6, provide `JAVA_OPTS=-Djava.net.preferIPv6Addresses=true -Dquarkus.http.host=[::]` via env vars and check boot logs.
### Actual Behavior
Polaris API bound on v6, but management still on v4:
```
2025-03-18 12:09:57,118 INFO [io.quarkus] [,] [,,,] (main) Apache Polaris Server (incubating) 1.0.0-incubating-SNAPSHOT on JVM (powered by Quarkus 3.19.3) started in 5.550s. Listening on: http://[::]:8181. Management interface listening on http://0.0.0.0:8182.
```
Check with `curl -4 ...` and `curl -6`.
### Expected Behavior
Management API is also bound on v6 address
### Additional context
_No response_
### System information
_No response_
Contributor guide
Research direction
Start with the Helm chart and the Quarkus management API configuration, then reproduce the IPv6-only or dual-stack case using the supplied JAVA_OPTS and inspect the boot logs. Done means the management listener binds to the IPv6 address as the main API does, with the relevant chart or application tests covering the setting.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, java
- Domain
- api, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100