fix!: support IPv6 address as custom GCE_METADATA_HOST by marqc · Pull Request #2592 · googleapis/google-api-java-client

@marqc requested a review from a team

June 6, 2025 09:54

@marqc marqc changed the title Fix usage of IPv6 address as custem GCE_METADATA_HOST fix!: support IPv6 address as custem GCE_METADATA_HOST

Jun 6, 2025

@marqc marqc changed the title fix!: support IPv6 address as custem GCE_METADATA_HOST fix!: support IPv6 address as custom GCE_METADATA_HOST

Jun 6, 2025

@marqc

The url for metadata server would fail if user provided IPv6 address as
GCE_METADATA_HOST env.
For backwards compatibility new code accepts the following:
  * domain, i.e. `mymetadataserver.domain.com`
  * domain with port, i.e. `mymetadataserver.domain.com:8080`
  * IPv4 address, i.e. `127.0.0.1`
  * IPv4 address with port, i.e. `127.0.0.1:8080`
  * IPv6 address, i.e. `::1`
  * IPv6 address within square brackers, i.e. `[::1]`
  * IPv6 address with port, i.e. `[::1]:8080`

BREAKING CHANGE: As the new code performs URL validation, it will fallback to the `DEFAULT_METADATA_SERVER_URL` if provided env variable results in invalid URL (this is behavioral change as prior to it, the malformed URL would be passed to upper layers and result in invalid request attempt).

Signed-off-by: Marek Chodor <mchodor@google.com>