Skip to content

Commit fe0458c

Browse files
[chore] Align env vars (#2582)
* [chore] Align env vars * Add OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE * Remove unnecessary extra_applications * Extra adjusts prior to Helm release * changelog * remove quotes * Increase memory
1 parent 2216f02 commit fe0458c

File tree

13 files changed

+92
-40
lines changed

13 files changed

+92
-40
lines changed

.env

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ GRAFANA_IMAGE=grafana/grafana:12.1.0
1515
JAEGERTRACING_IMAGE=jaegertracing/jaeger:2.10.0
1616
# must also update version field in src/grafana/provisioning/datasources/opensearch.yaml
1717
OPENSEARCH_IMAGE=opensearchproject/opensearch:3.2.0
18-
POSTGRES_IMAGE=postgres:17.6
18+
POSTGRES_IMAGE=postgres:17.6 # used only for TraceTest
1919
PROMETHEUS_IMAGE=quay.io/prometheus/prometheus:v3.5.0
2020
VALKEY_IMAGE=valkey/valkey:8.1.3-alpine
2121
TRACETEST_IMAGE=kubeshop/tracetest:${TRACETEST_IMAGE_VERSION}
@@ -82,6 +82,7 @@ FRONTEND_DOCKERFILE=./src/frontend/Dockerfile
8282
# Frontend Proxy (Envoy)
8383
FRONTEND_HOST=frontend
8484
ENVOY_PORT=8080
85+
ENVOY_ADMIN_PORT=10000
8586
FRONTEND_PROXY_ADDR=frontend-proxy:${ENVOY_PORT}
8687
FRONTEND_PROXY_DOCKERFILE=./src/frontend-proxy/Dockerfile
8788

@@ -148,6 +149,13 @@ KAFKA_DOCKERFILE=./src/kafka/Dockerfile
148149
VALKEY_PORT=6379
149150
VALKEY_ADDR=valkey-cart:${VALKEY_PORT}
150151

152+
# Postgres
153+
POSTGRES_HOST=postgresql
154+
POSTGRES_PORT=5432
155+
POSTGRES_DB=otel
156+
POSTGRES_PASSWORD=otel
157+
POSTGRES_DOCKERFILE=./src/postgres/Dockerfile
158+
151159
# ********************
152160
# Telemetry Components
153161
# ********************

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ the release.
77

88
## Unreleased
99

10+
* Align env vars
11+
([#2582](https://github.com/open-telemetry/opentelemetry-demo/pull/2582))
12+
1013
## 2.1.0
1114

1215
* [chore] add GOMEMLIMIT to all Go services

docker-compose.minimal.yml

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ services:
3939
environment:
4040
- AD_PORT
4141
- FLAGD_HOST
42+
- FLAGD_PORT
4243
- OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_HTTP}
4344
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
4445
- OTEL_RESOURCE_ATTRIBUTES
@@ -70,8 +71,10 @@ services:
7071
environment:
7172
- CART_PORT
7273
- FLAGD_HOST
74+
- FLAGD_PORT
7375
- VALKEY_ADDR
7476
- OTEL_EXPORTER_OTLP_ENDPOINT
77+
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
7578
- OTEL_RESOURCE_ATTRIBUTES
7679
- OTEL_SERVICE_NAME=cart
7780
- ASPNETCORE_URLS=http://*:${CART_PORT}
@@ -104,6 +107,7 @@ services:
104107
- CURRENCY_ADDR
105108
- EMAIL_ADDR
106109
- FLAGD_HOST
110+
- FLAGD_PORT
107111
- PAYMENT_ADDR
108112
- PRODUCT_CATALOG_ADDR
109113
- SHIPPING_ADDR
@@ -151,7 +155,9 @@ services:
151155
- CURRENCY_PORT
152156
- VERSION=${IMAGE_VERSION}
153157
- OTEL_EXPORTER_OTLP_ENDPOINT
154-
- OTEL_RESOURCE_ATTRIBUTES=${OTEL_RESOURCE_ATTRIBUTES},service.name=currency # The C++ SDK does not support OTEL_SERVICE_NAME
158+
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
159+
- OTEL_RESOURCE_ATTRIBUTES
160+
- OTEL_SERVICE_NAME=currency
155161
depends_on:
156162
otel-collector:
157163
condition: service_started
@@ -175,7 +181,10 @@ services:
175181
environment:
176182
- APP_ENV=production
177183
- EMAIL_PORT
178-
- OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_HTTP}/v1/traces
184+
- FLAGD_HOST
185+
- FLAGD_PORT
186+
- OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_HTTP}
187+
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
179188
- OTEL_RESOURCE_ATTRIBUTES
180189
- OTEL_SERVICE_NAME=email
181190
depends_on:
@@ -210,7 +219,7 @@ services:
210219
- RECOMMENDATION_ADDR
211220
- SHIPPING_ADDR
212221
- OTEL_EXPORTER_OTLP_ENDPOINT
213-
- OTEL_RESOURCE_ATTRIBUTES=${OTEL_RESOURCE_ATTRIBUTES}
222+
- OTEL_RESOURCE_ATTRIBUTES
214223
- ENV_PLATFORM
215224
- OTEL_SERVICE_NAME=frontend
216225
- PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
@@ -256,7 +265,7 @@ services:
256265
restart: unless-stopped
257266
ports:
258267
- "${ENVOY_PORT}:${ENVOY_PORT}"
259-
- 10000:10000
268+
- "${ENVOY_ADMIN_PORT}:${ENVOY_ADMIN_PORT}"
260269
environment:
261270
- FRONTEND_PORT
262271
- FRONTEND_HOST
@@ -274,6 +283,7 @@ services:
274283
- OTEL_RESOURCE_ATTRIBUTES
275284
- OTEL_SERVICE_NAME=frontend-proxy
276285
- ENVOY_PORT
286+
- ENVOY_ADMIN_PORT
277287
- FLAGD_HOST
278288
- FLAGD_PORT
279289
- FLAGD_UI_HOST
@@ -309,8 +319,8 @@ services:
309319
- IMAGE_PROVIDER_PORT
310320
- OTEL_COLLECTOR_HOST
311321
- OTEL_COLLECTOR_PORT_GRPC
312-
- OTEL_SERVICE_NAME=image-provider
313322
- OTEL_RESOURCE_ATTRIBUTES
323+
- OTEL_SERVICE_NAME=image-provider
314324
depends_on:
315325
otel-collector:
316326
condition: service_started
@@ -346,6 +356,7 @@ services:
346356
- PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
347357
- LOCUST_WEB_HOST=0.0.0.0
348358
- FLAGD_HOST
359+
- FLAGD_PORT
349360
- FLAGD_OFREP_PORT
350361
depends_on:
351362
frontend:
@@ -372,6 +383,7 @@ services:
372383
- "${PAYMENT_PORT}"
373384
environment:
374385
- FLAGD_HOST
386+
- FLAGD_PORT
375387
- PAYMENT_PORT
376388
- OTEL_EXPORTER_OTLP_ENDPOINT
377389
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
@@ -400,6 +412,7 @@ services:
400412
- "${PRODUCT_CATALOG_PORT}"
401413
environment:
402414
- FLAGD_HOST
415+
- FLAGD_PORT
403416
- PRODUCT_CATALOG_PORT
404417
- PRODUCT_CATALOG_RELOAD_INTERVAL
405418
- GOMEMLIMIT=16MiB
@@ -432,11 +445,12 @@ services:
432445
- "${QUOTE_PORT}"
433446
environment:
434447
- OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_HTTP}
448+
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
435449
- OTEL_PHP_AUTOLOAD_ENABLED=true
436450
- QUOTE_PORT
451+
- OTEL_PHP_INTERNAL_METRICS_ENABLED=true
437452
- OTEL_RESOURCE_ATTRIBUTES
438453
- OTEL_SERVICE_NAME=quote
439-
- OTEL_PHP_INTERNAL_METRICS_ENABLED=true
440454
depends_on:
441455
otel-collector:
442456
condition: service_started
@@ -460,6 +474,7 @@ services:
460474
- "${RECOMMENDATION_PORT}"
461475
environment:
462476
- FLAGD_HOST
477+
- FLAGD_PORT
463478
- RECOMMENDATION_PORT
464479
- PRODUCT_CATALOG_ADDR
465480
- OTEL_PYTHON_LOG_CORRELATION=true
@@ -633,6 +648,9 @@ services:
633648
- OTEL_COLLECTOR_HOST
634649
- OTEL_COLLECTOR_PORT_GRPC
635650
- OTEL_COLLECTOR_PORT_HTTP
651+
- POSTGRES_HOST
652+
- POSTGRES_PORT
653+
- POSTGRES_PASSWORD
636654
- GOMEMLIMIT=160MiB
637655

638656
# Prometheus

docker-compose.yml

Lines changed: 37 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ services:
3737
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
3838
- OTEL_RESOURCE_ATTRIBUTES
3939
- OTEL_SERVICE_NAME=accounting
40-
- DB_CONNECTION_STRING=Host=postgresql;Username=otelu;Password=otelp;Database=otel
40+
- DB_CONNECTION_STRING=Host=${POSTGRES_HOST};Username=otelu;Password=otelp;Database=${POSTGRES_DB}
4141
- OTEL_DOTNET_AUTO_TRACES_ENTITYFRAMEWORKCORE_INSTRUMENTATION_ENABLED=false
4242
depends_on:
4343
otel-collector:
@@ -104,6 +104,7 @@ services:
104104
- FLAGD_PORT
105105
- VALKEY_ADDR
106106
- OTEL_EXPORTER_OTLP_ENDPOINT
107+
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
107108
- OTEL_RESOURCE_ATTRIBUTES
108109
- OTEL_SERVICE_NAME=cart
109110
- ASPNETCORE_URLS=http://*:${CART_PORT}
@@ -191,7 +192,9 @@ services:
191192
- CURRENCY_PORT
192193
- VERSION=${IMAGE_VERSION}
193194
- OTEL_EXPORTER_OTLP_ENDPOINT
194-
- OTEL_RESOURCE_ATTRIBUTES=${OTEL_RESOURCE_ATTRIBUTES},service.name=currency # The C++ SDK does not support OTEL_SERVICE_NAME
195+
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
196+
- OTEL_RESOURCE_ATTRIBUTES
197+
- OTEL_SERVICE_NAME=currency
195198
depends_on:
196199
otel-collector:
197200
condition: service_started
@@ -218,7 +221,8 @@ services:
218221
- EMAIL_PORT
219222
- FLAGD_HOST
220223
- FLAGD_PORT
221-
- OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_HTTP}/v1/traces
224+
- OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_HTTP}
225+
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
222226
- OTEL_RESOURCE_ATTRIBUTES
223227
- OTEL_SERVICE_NAME=email
224228
depends_on:
@@ -286,7 +290,7 @@ services:
286290
- RECOMMENDATION_ADDR
287291
- SHIPPING_ADDR
288292
- OTEL_EXPORTER_OTLP_ENDPOINT
289-
- OTEL_RESOURCE_ATTRIBUTES=${OTEL_RESOURCE_ATTRIBUTES}
293+
- OTEL_RESOURCE_ATTRIBUTES
290294
- ENV_PLATFORM
291295
- OTEL_SERVICE_NAME=frontend
292296
- PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
@@ -327,14 +331,16 @@ services:
327331
build:
328332
context: ./
329333
dockerfile: ${FRONTEND_PROXY_DOCKERFILE}
334+
cache_from:
335+
- ${IMAGE_NAME}:${IMAGE_VERSION}-frontend-proxy
330336
deploy:
331337
resources:
332338
limits:
333339
memory: 65M
334340
restart: unless-stopped
335341
ports:
336342
- "${ENVOY_PORT}:${ENVOY_PORT}"
337-
- 10000:10000
343+
- "${ENVOY_ADMIN_PORT}:${ENVOY_ADMIN_PORT}"
338344
environment:
339345
- FRONTEND_PORT
340346
- FRONTEND_HOST
@@ -352,6 +358,7 @@ services:
352358
- OTEL_RESOURCE_ATTRIBUTES
353359
- OTEL_SERVICE_NAME=frontend-proxy
354360
- ENVOY_PORT
361+
- ENVOY_ADMIN_PORT
355362
- FLAGD_HOST
356363
- FLAGD_PORT
357364
- FLAGD_UI_HOST
@@ -389,8 +396,8 @@ services:
389396
- IMAGE_PROVIDER_PORT
390397
- OTEL_COLLECTOR_HOST
391398
- OTEL_COLLECTOR_PORT_GRPC
392-
- OTEL_SERVICE_NAME=image-provider
393399
- OTEL_RESOURCE_ATTRIBUTES
400+
- OTEL_SERVICE_NAME=image-provider
394401
depends_on:
395402
otel-collector:
396403
condition: service_started
@@ -426,6 +433,7 @@ services:
426433
- PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
427434
- LOCUST_WEB_HOST=0.0.0.0
428435
- FLAGD_HOST
436+
- FLAGD_PORT
429437
- FLAGD_OFREP_PORT
430438
depends_on:
431439
frontend:
@@ -518,11 +526,12 @@ services:
518526
- "${QUOTE_PORT}"
519527
environment:
520528
- OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_HTTP}
529+
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
521530
- OTEL_PHP_AUTOLOAD_ENABLED=true
522531
- QUOTE_PORT
532+
- OTEL_PHP_INTERNAL_METRICS_ENABLED=true
523533
- OTEL_RESOURCE_ATTRIBUTES
524534
- OTEL_SERVICE_NAME=quote
525-
- OTEL_PHP_INTERNAL_METRICS_ENABLED=true
526535
depends_on:
527536
otel-collector:
528537
condition: service_started
@@ -587,12 +596,6 @@ services:
587596
- OTEL_RESOURCE_ATTRIBUTES
588597
- OTEL_SERVICE_NAME=shipping
589598
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
590-
healthcheck:
591-
test: ["CMD-SHELL", "timeout 1 bash -c '>/dev/tcp/localhost/${SHIPPING_PORT}'"]
592-
start_period: 10s
593-
interval: 5s
594-
timeout: 10s
595-
retries: 10
596599
depends_on:
597600
otel-collector:
598601
condition: service_started
@@ -636,12 +639,15 @@ services:
636639
build:
637640
context: ./
638641
dockerfile: ${FLAGD_UI_DOCKERFILE}
642+
cache_from:
643+
- ${IMAGE_NAME}:${IMAGE_VERSION}-flagd-ui
639644
deploy:
640645
resources:
641646
limits:
642-
memory: 100M
647+
memory: 200M
643648
restart: always
644649
environment:
650+
- FLAGD_UI_PORT
645651
- OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_HTTP}
646652
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
647653
- OTEL_RESOURCE_ATTRIBUTES
@@ -695,17 +701,24 @@ services:
695701

696702
# Postgresql used by Accounting service
697703
postgresql:
698-
image: ${POSTGRES_IMAGE}
704+
image: ${IMAGE_NAME}:${DEMO_VERSION}-postgresql
699705
container_name: postgresql
706+
build:
707+
context: ./
708+
dockerfile: ${POSTGRES_DOCKERFILE}
709+
cache_from:
710+
- ${IMAGE_NAME}:${IMAGE_VERSION}-postgresql
711+
deploy:
712+
resources:
713+
limits:
714+
memory: 35M
700715
restart: unless-stopped
701716
ports:
702-
- "5432"
717+
- ${POSTGRES_PORT}
703718
environment:
704-
POSTGRES_USER: root
705-
POSTGRES_PASSWORD: otel
706-
POSTGRES_DB: otel
707-
volumes:
708-
- ${PWD}/src/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql
719+
- POSTGRES_USER=root
720+
- POSTGRES_PASSWORD
721+
- POSTGRES_DB
709722
logging: *logging
710723

711724
# Valkey used by Cart service
@@ -802,6 +815,9 @@ services:
802815
- OTEL_COLLECTOR_HOST
803816
- OTEL_COLLECTOR_PORT_GRPC
804817
- OTEL_COLLECTOR_PORT_HTTP
818+
- POSTGRES_HOST
819+
- POSTGRES_PORT
820+
- POSTGRES_PASSWORD
805821
- GOMEMLIMIT=160MiB
806822

807823
# Prometheus

src/flagd-ui/Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,11 @@ RUN chown nobody /app
8787

8888
# set runner ENV
8989
ENV MIX_ENV="prod"
90-
ENV PORT=4000
9190

9291
# Only copy the final release from the build stage
9392
COPY --from=builder --chown=nobody:root /app/_build/${MIX_ENV}/rel/flagd_ui ./
9493

95-
EXPOSE ${PORT}
94+
EXPOSE ${FLAGD_UI_PORT}
9695

9796
# If using an environment that doesn't automatically reap zombie processes, it is
9897
# advised to add an init process such as tini via `apt-get install`

src/flagd-ui/config/runtime.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ if config_env() == :prod do
4343
"""
4444

4545
host = System.get_env("PHX_HOST") || "example.com"
46-
port = String.to_integer(System.get_env("PORT") || "4000")
46+
port = String.to_integer(System.get_env("FLAGD_UI_PORT") || "4000")
4747

4848
config :flagd_ui, :dns_cluster_query, System.get_env("DNS_CLUSTER_QUERY")
4949

src/flagd-ui/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ defmodule FlagdUi.MixProject do
3030
def application do
3131
[
3232
mod: {FlagdUi.Application, []},
33-
extra_applications: [:logger, :runtime_tools, :os_mon, :inets]
33+
extra_applications: [:logger, :runtime_tools]
3434
]
3535
end
3636

src/frontend-proxy/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,6 @@ WORKDIR /home/envoy
1414

1515
COPY ./src/frontend-proxy/envoy.tmpl.yaml envoy.tmpl.yaml
1616

17+
EXPOSE ${ENVOY_PORT}
18+
EXPOSE ${ENVOY_ADMIN_PORT}
1719
ENTRYPOINT ["/bin/sh", "-c", "envsubst < envoy.tmpl.yaml > envoy.yaml && envoy -c envoy.yaml;"]

0 commit comments

Comments
 (0)