@@ -26,6 +26,8 @@ secrets:
2626 file : ${SECRETSDIR}/django
2727 controller.auth :
2828 environment : CONTROLLER_AUTH
29+ controller-auth-file :
30+ file : manager/secrets/controller.auth
2931 browser.auth :
3032 file : ${SECRETSDIR}/browser.auth
3133 calibration.auth :
@@ -458,13 +460,19 @@ services:
458460 depends_on :
459461 broker :
460462 condition : service_started
463+ web :
464+ condition : service_healthy
461465 environment :
462466 - TRACKER_LOG_LEVEL=info
463467 - TRACKER_MQTT_HOST=broker.scenescape.intel.com
464468 - TRACKER_MQTT_PORT=1883
465469 - TRACKER_MQTT_INSECURE=false
466470 - TRACKER_MQTT_TLS_CA_CERT=/run/secrets/certs/scenescape-ca.pem
467471 - TRACKER_MQTT_TLS_VERIFY_SERVER=true
472+ - TRACKER_MANAGER_URL=https://web.scenescape.intel.com
473+ - TRACKER_MANAGER_AUTH_PATH=/run/secrets/controller.auth
474+ - TRACKER_MANAGER_CA_CERT_PATH=/run/secrets/certs/scenescape-ca.pem
475+ - TRACKER_SCENES_SOURCE=api
468476 # Override host proxy settings - Paho MQTT dont respect no_proxy var, so as a WA
469477 # tracker code detects empty vars and unsets them (see mqtt_client.cpp clearEmptyProxyVars)
470478 - http_proxy=
@@ -474,12 +482,17 @@ services:
474482 secrets :
475483 - source : root-cert
476484 target : certs/scenescape-ca.pem
485+ - source : controller-auth-file
486+ target : /run/secrets/controller.auth
477487 read_only : true
478488 cap_drop :
479489 - ALL
480490 security_opt :
481491 - no-new-privileges:true
482- restart : always
492+ # Exit 0: graceful stop or non-retryable error (bad auth) — stay stopped
493+ # Exit 1: retryable error (broker unavailable) — restart
494+ # Exit 99: scene update received — restart to reload config
495+ restart : on-failure
483496 mem_limit : ${TRACKER_MEM_LIMIT:-512m}
484497 # Scale: ~1 CPU per 100 tracked objects. Increase TRACKER_CPUS for larger deployments.
485498 cpus : ${TRACKER_CPUS:-2.0}
0 commit comments