x-common-environment: &common PORT: 8080 BRAINTRUST_API_KEY: ${BRAINTRUST_API_KEY:?Set BRAINTRUST_API_KEY in .env} BRAINTRUST_PROJECT: ${BRAINTRUST_PROJECT:-gcp-distributed-tracing-demo} BRAINTRUST_API_URL: ${BRAINTRUST_API_URL:-} CLOUD_RUN_AUTH: "false" ENVIRONMENT: local services: native-specialist: build: . environment: <<: *common SERVICE_NAME: native-specialist SERVICE_ROLE: specialist TRACE_MODE: native GCP_PROJECT_ID: local-project-b ports: - "${NATIVE_SPECIALIST_PORT:-8081}:8080" native-orchestrator: build: . depends_on: - native-specialist environment: <<: *common SERVICE_NAME: native-orchestrator SERVICE_ROLE: orchestrator TRACE_MODE: native GCP_PROJECT_ID: local-project-a SPECIALIST_URL: http://native-specialist:8080 ports: - "${NATIVE_ORCHESTRATOR_PORT:-8080}:8080" otel-specialist: build: . environment: <<: *common SERVICE_NAME: otel-specialist SERVICE_ROLE: specialist TRACE_MODE: otel GCP_PROJECT_ID: local-project-b ports: - "${OTEL_SPECIALIST_PORT:-8083}:8080" otel-orchestrator: build: . depends_on: - otel-specialist environment: <<: *common SERVICE_NAME: otel-orchestrator SERVICE_ROLE: orchestrator TRACE_MODE: otel GCP_PROJECT_ID: local-project-a SPECIALIST_URL: http://otel-specialist:8080 ports: - "${OTEL_ORCHESTRATOR_PORT:-8082}:8080"