# Demo App version IMAGE_VERSION=2.1.3 IMAGE_NAME=ghcr.io/open-telemetry/demo DEMO_VERSION=latest # Build Args TRACETEST_IMAGE_VERSION=v1.7.1 OTEL_JAVA_AGENT_VERSION=2.20.1 OPENTELEMETRY_CPP_VERSION=1.21.0 # Dependent images COLLECTOR_CONTRIB_IMAGE=ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.133.0 FLAGD_IMAGE=ghcr.io/open-feature/flagd:v0.12.8 GRAFANA_IMAGE=grafana/grafana:12.1.0 JAEGERTRACING_IMAGE=jaegertracing/jaeger:2.10.0 # must also update version field in src/grafana/provisioning/datasources/opensearch.yaml OPENSEARCH_IMAGE=opensearchproject/opensearch:3.2.0 OPENSEARCH_DOCKERFILE=./src/opensearch/Dockerfile POSTGRES_IMAGE=postgres:17.6 # used only for TraceTest PROMETHEUS_IMAGE=quay.io/prometheus/prometheus:v3.5.0 VALKEY_IMAGE=valkey/valkey:8.1.3-alpine TRACETEST_IMAGE=kubeshop/tracetest:${TRACETEST_IMAGE_VERSION} # Demo Platform ENV_PLATFORM=local # OpenTelemetry Collector HOST_FILESYSTEM=/ DOCKER_SOCK=/var/run/docker.sock OTEL_COLLECTOR_HOST=otel-collector OTEL_COLLECTOR_PORT_GRPC=4317 OTEL_COLLECTOR_PORT_HTTP=4318 OTEL_COLLECTOR_CONFIG=./src/otel-collector/otelcol-config.yml OTEL_COLLECTOR_CONFIG_EXTRAS=./src/otel-collector/otelcol-config-extras.yml OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_GRPC} PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:8080/otlp-http/v1/traces # OpenTelemetry Resource Definitions OTEL_RESOURCE_ATTRIBUTES=service.namespace=opentelemetry-demo,service.version=${IMAGE_VERSION} # Metrics Temporality OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=cumulative # ****************** # Core Demo Services # ****************** # Accounting Service ACCOUNTING_DOCKERFILE=./src/accounting/Dockerfile # Ad Service AD_PORT=9555 AD_ADDR=ad:${AD_PORT} AD_DOCKERFILE=./src/ad/Dockerfile # Cart Service CART_PORT=7070 CART_ADDR=cart:${CART_PORT} CART_DOCKERFILE=./src/cart/src/Dockerfile # Checkout Service CHECKOUT_PORT=5050 CHECKOUT_ADDR=checkout:${CHECKOUT_PORT} CHECKOUT_DOCKERFILE=./src/checkout/Dockerfile # Currency Service CURRENCY_PORT=7001 CURRENCY_ADDR=currency:${CURRENCY_PORT} CURRENCY_DOCKERFILE=./src/currency/Dockerfile # Email Service EMAIL_PORT=6060 EMAIL_ADDR=http://email:${EMAIL_PORT} EMAIL_DOCKERFILE=./src/email/Dockerfile # Fraud Service FRAUD_DOCKERFILE=./src/fraud-detection/Dockerfile # Frontend FRONTEND_PORT=8080 FRONTEND_ADDR=frontend:${FRONTEND_PORT} FRONTEND_DOCKERFILE=./src/frontend/Dockerfile # Frontend Proxy (Envoy) FRONTEND_HOST=frontend ENVOY_PORT=8080 ENVOY_ADMIN_PORT=10000 FRONTEND_PROXY_ADDR=frontend-proxy:${ENVOY_PORT} FRONTEND_PROXY_DOCKERFILE=./src/frontend-proxy/Dockerfile # Image Provider IMAGE_PROVIDER_HOST=image-provider IMAGE_PROVIDER_PORT=8081 IMAGE_PROVIDER_DOCKERFILE=./src/image-provider/Dockerfile # Load Generator LOCUST_WEB_PORT=8089 LOCUST_USERS=5 LOCUST_HOST=http://${FRONTEND_PROXY_ADDR} LOCUST_WEB_HOST=load-generator LOCUST_AUTOSTART=true LOCUST_HEADLESS=false LOAD_GENERATOR_DOCKERFILE=./src/load-generator/Dockerfile # Payment Service PAYMENT_PORT=50051 PAYMENT_ADDR=payment:${PAYMENT_PORT} PAYMENT_DOCKERFILE=./src/payment/Dockerfile # Product Catalog Service PRODUCT_CATALOG_RELOAD_INTERVAL=10 PRODUCT_CATALOG_PORT=3550 PRODUCT_CATALOG_ADDR=product-catalog:${PRODUCT_CATALOG_PORT} PRODUCT_CATALOG_DOCKERFILE=./src/product-catalog/Dockerfile # Quote Service QUOTE_PORT=8090 QUOTE_ADDR=http://quote:${QUOTE_PORT} QUOTE_DOCKERFILE=./src/quote/Dockerfile # Recommendation Service RECOMMENDATION_PORT=9001 RECOMMENDATION_ADDR=recommendation:${RECOMMENDATION_PORT} RECOMMENDATION_DOCKERFILE=./src/recommendation/Dockerfile # Shipping Service SHIPPING_PORT=50050 SHIPPING_ADDR=http://shipping:${SHIPPING_PORT} SHIPPING_DOCKERFILE=./src/shipping/Dockerfile # ****************** # Dependent Services # ****************** # Flagd FLAGD_HOST=flagd FLAGD_PORT=8013 FLAGD_OFREP_PORT=8016 # Flagd UI FLAGD_UI_HOST=flagd-ui FLAGD_UI_PORT=4000 FLAGD_UI_DOCKERFILE=./src/flagd-ui/Dockerfile # Kafka KAFKA_PORT=9092 KAFKA_HOST=kafka KAFKA_ADDR=${KAFKA_HOST}:${KAFKA_PORT} KAFKA_DOCKERFILE=./src/kafka/Dockerfile # Valkey VALKEY_PORT=6379 VALKEY_ADDR=valkey-cart:${VALKEY_PORT} # Postgres POSTGRES_HOST=postgresql POSTGRES_PORT=5432 POSTGRES_DB=otel POSTGRES_PASSWORD=otel POSTGRES_DOCKERFILE=./src/postgres/Dockerfile # ******************** # Telemetry Components # ******************** # Grafana GRAFANA_PORT=3000 GRAFANA_HOST=grafana # Jaeger JAEGER_HOST=jaeger JAEGER_UI_PORT=16686 JAEGER_GRPC_PORT=4317 # Prometheus PROMETHEUS_PORT=9090 PROMETHEUS_HOST=prometheus PROMETHEUS_ADDR=${PROMETHEUS_HOST}:${PROMETHEUS_PORT}