Skip to content

Upgrade OpenTelemetry Demo to 3.0.0 across all deployment modes #433

Description

@kylehounslow

Summary

OpenTelemetry Demo latest version 3.0.0 changes the core service set, load generator, and several service configs. This repository vendors the demo across three deployment modes; all three need to move to 3.0.0 as per upstream issue: open-telemetry/opentelemetry-demo#3720

Scope

  • 1. Docker Compose (docker-compose.otel-demo.yml, .env, vendored config under docker-compose/opentelemetry-demo/, docker-compose/opensearch-dashboards/init/, docker-compose/prometheus/rules-otel-demo/)
  • 2. Kubernetes / Helm (charts/observability-stack, the opentelemetry-demo subchart, and the charts/observability-stack/files dashboard and alert-rule copies)
  • 3. AWS CDK and CLI installer (aws/cdk, aws/cli-installer)

Tasks

Docker Compose

  • Bump IMAGE_VERSION/DEMO_VERSION to 3.0.0 and the flagd/postgres/valkey image pins to the 3.0 set.
  • Drop services removed from the 3.0 core demo: accounting, fraud-detection, kafka, llm, product-reviews. Add telemetry-docs.
  • Replace the Locust load generator with k6 (LOAD_GENERATOR_VUS, K6_TARGET_URL).
  • Rename postgresql to astronomy-db; update init.sql to provision astronomy_db with astronomy_user/monitoring_user.
  • Mount the new product-catalog/otel-config.yml.
  • Refresh demo.flagd.json to the 3.0 flag set.
  • Set the frontend-proxy backend env vars (see Notes).

Kubernetes / Helm

  • Bump the opentelemetry-demo subchart (currently 0.40.8) to the release that ships demo 3.0.0.
  • Update the charts/observability-stack/files astronomy dashboards and otel-demo alert rules to the 3.0 service set, in lockstep with the subchart bump. These feed the init-dashboards and cortex-rules configmaps, so shipping them ahead of the subchart bump leaves the Helm path half-updated.
  • Set the frontend-proxy backend env vars in the subchart values.

AWS CDK / CLI

  • Propagate the 3.0.0 image version and service-set changes through aws/cdk and aws/cli-installer.
  • Set the frontend-proxy backend env vars in the CDK/CLI-rendered deployment.

Notes (verified on Docker Compose)

  • frontend-proxy backend vars: the 3.0.0 frontend-proxy image's envoy bootstrap defines STRICT_DNS clusters for chatbot, firepit, and opamp-server. A deployment that omits those services must still set CHATBOT_HOST/CHATBOT_PORT, FIREPIT_HOST/FIREPIT_PORT, and OPAMP_SERVER_HOST/OPAMP_SERVER_UI_PORT (upstream 3.0.0 defaults). Without them the socket addresses are empty, envoy proto validation fails, and the proxy crash-loops, which also blocks any service depending on frontend-proxy being healthy (for example the load generator). Template rendering (docker compose config) does not catch this, because the addresses are assembled inside the image at boot.
  • Dashboards: remove the product-reviews panels from the astronomy-shop dashboard; drop fraud-detection and product-reviews from the service-telemetry dashboard variable list. Repoint the product-catalog throughput panel from the removed npgsql (.NET) counters to the Go client metric db_client_operation_duration_seconds_count.
  • Alert rules: drop product-reviews and accounting from the otel-demo alert-rule service matchers.
  • Validation: the Docker Compose 3.0.0 deployment brought up all core demo services plus the stack collector healthy, with traces, metrics, and logs flowing under k6 load.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    untriagedIssues that have not been triaged

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions