opensearch-project / opensearch-project/observability-stack
Upgrade OpenTelemetry Demo to 3.0.0 across all deployment modes
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 41
- Forks
- 39
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 10
Description
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 underdocker-compose/opentelemetry-demo/,docker-compose/opensearch-dashboards/init/,docker-compose/prometheus/rules-otel-demo/) - 2. Kubernetes / Helm (
charts/observability-stack, theopentelemetry-demosubchart, and thecharts/observability-stack/filesdashboard and alert-rule copies) - 3. AWS CDK and CLI installer (
aws/cdk,aws/cli-installer)
Tasks
Docker Compose
- Bump
IMAGE_VERSION/DEMO_VERSIONto 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. Addtelemetry-docs. - Replace the Locust load generator with k6 (
LOAD_GENERATOR_VUS,K6_TARGET_URL). - Rename
postgresqltoastronomy-db; updateinit.sqlto provisionastronomy_dbwithastronomy_user/monitoring_user. - Mount the new
product-catalog/otel-config.yml. - Refresh
demo.flagd.jsonto the 3.0 flag set. - Set the frontend-proxy backend env vars (see Notes).
Kubernetes / Helm
- Bump the
opentelemetry-demosubchart (currently0.40.8) to the release that ships demo 3.0.0. - Update the
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. - 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/cdkandaws/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, 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. - Dashboards: remove the
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. - Alert rules: drop
product-reviewsandaccountingfrom 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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with docker-compose.otel-demo.yml and the vendored files under docker-compose/opentelemetry-demo/, then compare the charts/observability-stack subchart and files with the OpenTelemetry Demo 3.0.0 service set. Trace the corresponding entry points in aws/cdk and aws/cli-installer, and validate Compose health, telemetry flow, dashboards, alert rules, and the rendered deployment in each mode.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, docker, docker-compose, helm, javascript, kubernetes
- Domain
- cloud, devops, infrastructure, observability
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100