Skip to content

IPv6 Compatibility #2482

@gnmeyer

Description

@gnmeyer

Bug Report

Which version of the demo you are using?
https://github.com/open-telemetry/opentelemetry-demo/releases/tag/2.0.2

Symptom

The OpenTelemetry Demo (v2.0.2) contains hardcoded IPv4 addresses in multiple microservices. This prevents the demo from functioning correctly in IPv6 environments.

Reproduce

When deployed in an IPv6 kubernetes cluster, the Astronomy shop is not accessible via the / endpoint.

If you circumvent the frontend-proxy...

  • When adding a product to the cart, calls to the /api/shipping endpoint return an HTTP 500 error code.
  • When checking out, clicking the "Place Order" button appears to do nothing. Upon inspection, calls to the /api/checkout endpoint return an HTTP 500 error code.

Additional Context

Affected Components

The following microservices contain hardcoded IPv4 addresses:

Service File Line(s) Link
Currency currency/src/server.cpp 241 View Code
FlagD UI flagd-ui/src/package.json 6, 8 View Code
Frontend Proxy frontend-proxy/envoy.tmpl.yaml 9, 246 Line 9 Line 246
Payment payment/index.js 47 View Code
Quote quote/public/index.php 90 View Code
Shipping shipping/src/main.rs 29 View Code

Proposed Solution

  1. Replace hardcoded IP addresses with configurable environment variables
  2. Update Helm charts to support both IPv4 and IPv6 configurations

Note that :: is the IPv6 equivalent to 0.0.0.0. In some contexts, this must be escaped, quoted, etc. to remain syntactically valid

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions