# Demo Platform ENV_PLATFORM=local # OpenTelemetry Collector OTEL_COLLECTOR_HOST=collector OTEL_COLLECTOR_PORT_GRPC=5555 OTEL_COLLECTOR_PORT_HTTP=6666 OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_GRPC} OTEL_EXPORTER_OTLP_PROTOCOL=grpc OTEL_LOGS_EXPORTER=otlp OTEL_TRACES_EXPORTER=otlp OTEL_METRICS_EXPORTER=otlp OTEL_JAVAAGENT_LOGGING=application OTEL_JAVAAGENT_ENABLED=true OTEL_JAVAAGENT_DEBUG=false # OpenTelemetry Resource Definitions OTEL_RESOURCE_ATTRIBUTES="service.namespace=yas-msa" # Metrics Temporality OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=cumulative OTEL_INSTRUMENTATION_LOGBACK-MDC_ADD-BAGGAGE=true # ****************** # Services # ****************** # Kafka KAFKA_SERVICE_HOST=kafka KAFKA_SERVICE_PORT=9092 KAFKA_SERVICE_ADDR=kafka:${KAFKA_SERVICE_PORT} KAFKA_BROKER_ID=1 KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://${KAFKA_SERVICE_ADDR},PLAINTEXT_HOST://kafka:29092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME=PLAINTEXT KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 # Postgres POSTGRES_USER=admin POSTGRES_PASSWORD=admin POSTGRES_HOST=postgres POSTGRES_PORT=5432 # ******************** # Telemetry Components # ******************** # Grafana GRAFANA_SERVICE_PORT=3000 GRAFANA_SERVICE_HOST=grafana # Jaeger JAEGER_SERVICE_PORT=16686 JAEGER_SERVICE_HOST=jaeger # Prometheus PROMETHEUS_SERVICE_PORT=9090 PROMETHEUS_SERVICE_HOST=prometheus PROMETHEUS_ADDR=${PROMETHEUS_SERVICE_HOST}:${PROMETHEUS_SERVICE_PORT} # Redis SPRING_DATA_REDIS_HOST=redis SPRING_DATA_REDIS_PORT=6379 # ******************************************************* # Environment Variables are injected to the microservices # ******************************************************* JAVA_TOOL_OPTIONS=-javaagent:opentelemetry-javaagent.jar LOGGING_CONFIG=/app-config/logback-spring.xml # The API Endpoint YAS_PUBLIC_API_URL=http://api.yas.local YAS_SERVICES_CART=http://cart/cart YAS_SERVICES_CUSTOMER=http://customer/customer YAS_SERVICES_PRODUCT=http://product/product YAS_SERVICES_TAX=http://tax/tax YAS_SERVICES_ORDER=http://order/order YAS_SERVICES_PAYMENT=http://payment/payment YAS_SERVICES_LOCATION=http://location/location YAS_SERVICES_MEDIA=http://media/media YAS_SERVICES_PROMOTION=http://promotion/promotion YAS_SERVICES_INVENTORY=http://inventory/inventory YAS_SERVICES_RATING=http://rating/rating YAS_SERVICES_SAMPLE_DATA=http://sampledata/sampledata YAS_SERVICES_RECOMMENDATION=http://recommendation/recommendation SERVER_PORT=80 # Swagger UI URLS=[{ url: 'http://api.yas.local/product/v3/api-docs', name: 'Product' },{ url: 'http://api.yas.local/media/v3/api-docs', name: 'Media' },{ url: 'http://api.yas.local/customer/v3/api-docs', name: 'Customer' },{ url: 'http://api.yas.local/cart/v3/api-docs', name: 'Cart'},{ url: 'http://api.yas.local/rating/v3/api-docs', name: 'Rating' }, { url: 'http://api.yas.local/order/v3/api-docs', name: 'Order'},{ url: 'http://api.yas.local/payment/v3/api-docs', name: 'Payment'},{ url: 'http://api.yas.local/payment-paypal/v3/api-docs', name: 'Payment-paypal'},{ url: 'http://api.yas.local/location/v3/api-docs', name: 'Location'}, { url: 'http://api.yas.local/inventory/v3/api-docs', name: 'Inventory'},{ url: 'http://api.yas.local/tax/v3/api-docs', name: 'Tax' },{ url: 'http://api.yas.local/promotion/v3/api-docs', name: 'Promotion'},{ url: 'http://api.yas.local/search/v3/api-docs', name: 'Search'}, { url: 'http://api.yas.local/webhook/v3/api-docs', name: 'Webhook'}] # Start all service when run docker compose up COMPOSE_FILE=docker-compose.yml:docker-compose.search.yml:docker-compose.o11y.yml # Additional configuration YAS_PRICE_INCLUDES_TAX=false YAS_CURRENCY_UNIT=VND # OpenAI Config SPRING_AI_AZURE_OPENAI_API_KEY= SPRING_AI_AZURE_OPENAI_ENDPOINT= SPRING_AI_AZURE_OPENAI_EMBEDDING_OPTIONS_MODEL=