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
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.
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
docker-compose.otel-demo.yml,.env, vendored config underdocker-compose/opentelemetry-demo/,docker-compose/opensearch-dashboards/init/,docker-compose/prometheus/rules-otel-demo/)charts/observability-stack, theopentelemetry-demosubchart, and thecharts/observability-stack/filesdashboard and alert-rule copies)aws/cdk,aws/cli-installer)Tasks
Docker Compose
IMAGE_VERSION/DEMO_VERSIONto 3.0.0 and the flagd/postgres/valkey image pins to the 3.0 set.accounting,fraud-detection,kafka,llm,product-reviews. Addtelemetry-docs.LOAD_GENERATOR_VUS,K6_TARGET_URL).postgresqltoastronomy-db; updateinit.sqlto provisionastronomy_dbwithastronomy_user/monitoring_user.product-catalog/otel-config.yml.demo.flagd.jsonto the 3.0 flag set.Kubernetes / Helm
opentelemetry-demosubchart (currently0.40.8) to the release that ships demo 3.0.0.charts/observability-stack/filesastronomy 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.AWS CDK / CLI
aws/cdkandaws/cli-installer.Notes (verified on Docker Compose)
chatbot,firepit, andopamp-server. A deployment that omits those services must still setCHATBOT_HOST/CHATBOT_PORT,FIREPIT_HOST/FIREPIT_PORT, andOPAMP_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.product-reviewspanels from the astronomy-shop dashboard; dropfraud-detectionandproduct-reviewsfrom the service-telemetry dashboard variable list. Repoint the product-catalog throughput panel from the removed npgsql (.NET) counters to the Go client metricdb_client_operation_duration_seconds_count.product-reviewsandaccountingfrom the otel-demo alert-rule service matchers.