Skip to content

Commit 100a562

Browse files
author
yangwenwei
committed
first commit
0 parents  commit 100a562

594 files changed

Lines changed: 166558 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
3+
.github
4+
docs
5+
internal
6+
src/*/README.md
7+
src/*/Dockerfile
8+
src/*/*/Dockerfile
9+
10+
###################################
11+
# currency
12+
./src/currency/client.js
13+
./src/currency/node_modules/
14+
###################################
15+
16+
###################################
17+
# frontend
18+
./src/frontend/node_modules/
19+
20+
###################################
21+
# shipping
22+
./src/shipping/target
23+
###################################
24+

.env

Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
# Demo App version
2+
IMAGE_VERSION=2.2.0
3+
IMAGE_NAME=ghcr.io/open-telemetry/demo
4+
DEMO_VERSION=latest
5+
6+
# Build Args
7+
TRACETEST_IMAGE_VERSION=v1.7.1
8+
OTEL_JAVA_AGENT_VERSION=2.25.0
9+
OPENTELEMETRY_CPP_VERSION=1.24.0
10+
11+
# Dependent images
12+
COLLECTOR_CONTRIB_IMAGE=ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.146.1
13+
FLAGD_IMAGE=ghcr.io/open-feature/flagd:v0.13.3
14+
GRAFANA_IMAGE=grafana/grafana:12.3.3
15+
JAEGERTRACING_IMAGE=jaegertracing/jaeger:2.14.1
16+
# must also update version field in src/grafana/provisioning/datasources/opensearch.yaml
17+
OPENSEARCH_IMAGE=opensearchproject/opensearch:3.5.0
18+
OPENSEARCH_DOCKERFILE=./src/opensearch/Dockerfile
19+
POSTGRES_IMAGE=postgres:17.8
20+
PROMETHEUS_IMAGE=quay.io/prometheus/prometheus:v3.9.1
21+
VALKEY_IMAGE=valkey/valkey:9.0.2-alpine3.23
22+
TRACETEST_IMAGE=kubeshop/tracetest:${TRACETEST_IMAGE_VERSION}
23+
24+
# Demo Platform
25+
ENV_PLATFORM=local
26+
27+
# IPv6 Flag control
28+
IPV6_ENABLED=false
29+
30+
# OpenTelemetry Collector
31+
HOST_FILESYSTEM=/
32+
DOCKER_SOCK=/var/run/docker.sock
33+
OTEL_COLLECTOR_HOST=otel-collector
34+
OTEL_COLLECTOR_PORT_GRPC=4317
35+
OTEL_COLLECTOR_PORT_HTTP=4318
36+
OTEL_COLLECTOR_CONFIG=./src/otel-collector/otelcol-config.yml
37+
OTEL_COLLECTOR_CONFIG_EXTRAS=./src/otel-collector/otelcol-config-extras.yml
38+
OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_GRPC}
39+
PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:8080/otlp-http/v1/traces
40+
41+
# OpenTelemetry Resource Definitions
42+
OTEL_RESOURCE_ATTRIBUTES=service.namespace=opentelemetry-demo,service.version=${IMAGE_VERSION}
43+
44+
# Metrics Temporality
45+
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=cumulative
46+
47+
# ******************
48+
# Core Demo Services
49+
# ******************
50+
# Accounting Service
51+
ACCOUNTING_DOCKERFILE=./src/accounting/Dockerfile
52+
53+
# Ad Service
54+
AD_PORT=9555
55+
AD_ADDR=ad:${AD_PORT}
56+
AD_DOCKERFILE=./src/ad/Dockerfile
57+
58+
# Cart Service
59+
CART_PORT=7070
60+
CART_ADDR=cart:${CART_PORT}
61+
CART_DOCKERFILE=./src/cart/src/Dockerfile
62+
63+
# Checkout Service
64+
CHECKOUT_PORT=5050
65+
CHECKOUT_ADDR=checkout:${CHECKOUT_PORT}
66+
CHECKOUT_DOCKERFILE=./src/checkout/Dockerfile
67+
68+
# Currency Service
69+
CURRENCY_PORT=7001
70+
CURRENCY_ADDR=currency:${CURRENCY_PORT}
71+
CURRENCY_DOCKERFILE=./src/currency/Dockerfile
72+
73+
# Email Service
74+
EMAIL_PORT=6060
75+
EMAIL_ADDR=http://email:${EMAIL_PORT}
76+
EMAIL_DOCKERFILE=./src/email/Dockerfile
77+
78+
# Fraud Service
79+
FRAUD_DOCKERFILE=./src/fraud-detection/Dockerfile
80+
81+
# Frontend
82+
FRONTEND_PORT=8080
83+
FRONTEND_ADDR=frontend:${FRONTEND_PORT}
84+
FRONTEND_DOCKERFILE=./src/frontend/Dockerfile
85+
86+
# Frontend Proxy (Envoy)
87+
ENVOY_ADDR=0.0.0.0
88+
ENVOY_PORT=8080
89+
ENVOY_ADMIN_PORT=10000
90+
FRONTEND_HOST=frontend
91+
FRONTEND_PROXY_ADDR=frontend-proxy:${ENVOY_PORT}
92+
FRONTEND_PROXY_DOCKERFILE=./src/frontend-proxy/Dockerfile
93+
94+
# Image Provider
95+
IMAGE_PROVIDER_HOST=image-provider
96+
IMAGE_PROVIDER_PORT=8081
97+
IMAGE_PROVIDER_DOCKERFILE=./src/image-provider/Dockerfile
98+
99+
# Load Generator
100+
LOCUST_WEB_PORT=8089
101+
LOCUST_USERS=5
102+
LOCUST_HOST=http://${FRONTEND_PROXY_ADDR}
103+
LOCUST_WEB_HOST=load-generator
104+
LOCUST_AUTOSTART=true
105+
LOCUST_HEADLESS=false
106+
LOAD_GENERATOR_DOCKERFILE=./src/load-generator/Dockerfile
107+
108+
# Payment Service
109+
PAYMENT_PORT=50051
110+
PAYMENT_ADDR=payment:${PAYMENT_PORT}
111+
PAYMENT_DOCKERFILE=./src/payment/Dockerfile
112+
113+
# Product Catalog Service
114+
PRODUCT_CATALOG_PORT=3550
115+
PRODUCT_CATALOG_ADDR=product-catalog:${PRODUCT_CATALOG_PORT}
116+
PRODUCT_CATALOG_DOCKERFILE=./src/product-catalog/Dockerfile
117+
118+
# Product Reviews Service
119+
PRODUCT_REVIEWS_PORT=3551
120+
PRODUCT_REVIEWS_ADDR=product-reviews:${PRODUCT_REVIEWS_PORT}
121+
PRODUCT_REVIEWS_DOCKERFILE=./src/product-reviews/Dockerfile
122+
123+
# Quote Service
124+
QUOTE_PORT=8090
125+
QUOTE_ADDR=http://quote:${QUOTE_PORT}
126+
QUOTE_DOCKERFILE=./src/quote/Dockerfile
127+
128+
# Recommendation Service
129+
RECOMMENDATION_PORT=9001
130+
RECOMMENDATION_ADDR=recommendation:${RECOMMENDATION_PORT}
131+
RECOMMENDATION_DOCKERFILE=./src/recommendation/Dockerfile
132+
133+
# Shipping Service
134+
SHIPPING_PORT=50050
135+
SHIPPING_ADDR=http://shipping:${SHIPPING_PORT}
136+
SHIPPING_DOCKERFILE=./src/shipping/Dockerfile
137+
138+
# ******************
139+
# Dependent Services
140+
# ******************
141+
# Flagd
142+
FLAGD_HOST=flagd
143+
FLAGD_PORT=8013
144+
FLAGD_OFREP_PORT=8016
145+
146+
# Flagd UI
147+
FLAGD_UI_HOST=flagd-ui
148+
FLAGD_UI_PORT=4000
149+
FLAGD_UI_DOCKERFILE=./src/flagd-ui/Dockerfile
150+
151+
# Kafka
152+
KAFKA_PORT=9092
153+
KAFKA_HOST=kafka
154+
KAFKA_ADDR=${KAFKA_HOST}:${KAFKA_PORT}
155+
KAFKA_DOCKERFILE=./src/kafka/Dockerfile
156+
157+
# LLM service
158+
LLM_DOCKERFILE=./src/llm/Dockerfile
159+
LLM_HOST=llm
160+
LLM_PORT=8000
161+
162+
# Mock LLM - to use a real OpenAI API-compatible LLM,
163+
# configure the .env.override file
164+
LLM_BASE_URL=http://${LLM_HOST}:${LLM_PORT}/v1
165+
LLM_MODEL=astronomy-llm
166+
OPENAI_API_KEY=dummy
167+
168+
# Valkey
169+
VALKEY_PORT=6379
170+
VALKEY_ADDR=valkey-cart:${VALKEY_PORT}
171+
172+
# Postgres
173+
POSTGRES_HOST=postgresql
174+
POSTGRES_PORT=5432
175+
POSTGRES_DB=otel
176+
POSTGRES_PASSWORD=otel
177+
POSTGRES_DOCKERFILE=./src/postgresql/Dockerfile
178+
179+
# ********************
180+
# Telemetry Components
181+
# ********************
182+
# Grafana
183+
GRAFANA_PORT=3000
184+
GRAFANA_HOST=grafana
185+
186+
# Jaeger
187+
JAEGER_HOST=jaeger
188+
JAEGER_UI_PORT=16686
189+
JAEGER_GRPC_PORT=4317
190+
191+
# Prometheus
192+
PROMETHEUS_PORT=9090
193+
PROMETHEUS_HOST=prometheus
194+
PROMETHEUS_ADDR=${PROMETHEUS_HOST}:${PROMETHEUS_PORT}

.env.arm64

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
_JAVA_OPTIONS=-XX:UseSVE=0

.env.override

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# DO NOT PUSH CHANGES OF THIS FILE TO opentelemetry/opentelemetry-demo
2+
# PLACE YOUR .env ENVIRONMENT VARIABLES OVERRIDES IN THIS FILE
3+
4+
5+
# To use a real OpenAI API-compatible LLM,
6+
# set the appropriate values for the target LLM
7+
# Required permissions:
8+
# [Models and Model capabilities]
9+
10+
#LLM_BASE_URL=https://api.openai.com/v1
11+
#LLM_MODEL=gpt-4o-mini
12+
#OPENAI_API_KEY=<replace with API key>

.gitattributes

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
3+
* text=auto
4+
5+
gradlew text eol=lf

.github/CODEOWNERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Code owners file.
2+
# This file controls who is tagged for review for any given pull request.
3+
4+
# For anything not explicitly taken by someone else:
5+
* @open-telemetry/demo-approvers
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
name: Bug Report
3+
about: Create a report to help us improve
4+
labels: bug
5+
---
6+
7+
# Bug Report
8+
9+
Which version of the demo you are using? (please provide either a specific
10+
[commit
11+
hash](https://github.com/open-telemetry/opentelemetry-demo/commits/main)
12+
or a specific
13+
[release](https://github.com/open-telemetry/opentelemetry-demo/releases)).
14+
15+
## Symptom
16+
17+
A clear and concise description of what the bug is.
18+
19+
**What is the expected behavior?**
20+
21+
What do you expect to see?
22+
23+
**What is the actual behavior?**
24+
25+
Please describe the actual behavior experienced.
26+
27+
## Reproduce
28+
29+
Could you provide the minimum required steps to resolve the issue you're seeing?
30+
31+
We will close this issue if:
32+
33+
* The steps you provided are complex.
34+
* If we can not reproduce the behavior you're reporting.
35+
36+
## Additional Context
37+
38+
Please feel free to add any other context about the problem here.
39+
40+
<sub>**Tip**: [React](https://github.blog/news-insights/product-news/add-reactions-to-pull-requests-issues-and-comments/) with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it. Learn more [here](https://opentelemetry.io/community/end-user/issue-participation/).</sub>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for this project
4+
labels: enhancement
5+
---
6+
7+
# Feature Request
8+
9+
Before opening a feature request against this repo, consider whether the feature
10+
should/could be implemented in the [other OpenTelemetry client
11+
libraries](https://github.com/open-telemetry/). If so, please [open an issue on
12+
opentelemetry-specification](https://github.com/open-telemetry/opentelemetry-specification/issues/new)
13+
first.
14+
15+
**Is your feature request related to a problem?**
16+
17+
If so, provide a concise description of the problem.
18+
19+
**Describe the solution you'd like:**
20+
21+
What would you like to happen instead? What is the expected behavior?
22+
23+
**Describe alternatives you've considered.**
24+
25+
Which alternative solutions or features have you considered?
26+
27+
## Additional Context
28+
29+
Feel free to add any other context about the feature request here.
30+
31+
<sub>**Tip**: [React](https://github.blog/news-insights/product-news/add-reactions-to-pull-requests-issues-and-comments/) with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it. Learn more [here](https://opentelemetry.io/community/end-user/issue-participation/).</sub>

.github/ISSUE_TEMPLATE/question.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
name: Question
3+
about: Create a question to help us improve our knowledge base and documentation
4+
labels: question
5+
---
6+
7+
# Question
8+
9+
Use [Github Discussions](https://github.com/open-telemetry/opentelemetry-demo/discussions/).
10+
11+
<sub>**Tip**: [React](https://github.blog/news-insights/product-news/add-reactions-to-pull-requests-issues-and-comments/) with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it. Learn more [here](https://opentelemetry.io/community/end-user/issue-participation/).</sub>

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Changes
2+
3+
Please provide a brief description of the changes here.
4+
5+
## Merge Requirements
6+
7+
For new features contributions, please make sure you have completed the following
8+
essential items:
9+
10+
* [ ] `CHANGELOG.md` updated to document new feature additions
11+
* [ ] Appropriate documentation updates in the [docs][]
12+
* [ ] Appropriate Helm chart updates in the [helm-charts][]
13+
14+
<!--
15+
A Pull Request that modifies instrumentation code will likely require an
16+
update in docs. Please make sure to update the opentelemetry.io repo with any
17+
docs changes.
18+
19+
A Pull Request that modifies docker-compose.yaml, otelcol-config.yaml, or
20+
Grafana dashboards will likely require an update to the Demo Helm chart.
21+
Other changes affecting how a service is deployed will also likely require an
22+
update to the Demo Helm chart.
23+
-->
24+
25+
Maintainers will not merge until the above have been completed. If you're unsure
26+
which docs need to be changed ping the
27+
[@open-telemetry/demo-approvers](https://github.com/orgs/open-telemetry/teams/demo-approvers).
28+
29+
[docs]: https://opentelemetry.io/docs/demo/
30+
[helm-charts]: https://github.com/open-telemetry/opentelemetry-helm-charts

0 commit comments

Comments
 (0)