Le domaine connaissait deja CAMERA_OFFLINE, classe CRITICAL, mais rien ne l'emettait. CameraLivenessProbe interroge l'API du serveur media et comble ce trou. Elle passe par le meme port IngestSensorEventUseCase que l'endpoint REST et le simulateur : trois producteurs de natures tres differentes, un seul contrat d'entree, et le meme trajet Kafka -> agregat ensuite. Si l'alarme est desarmee, une coupure video ne reveille personne - c'est l'agregat qui tranche, pas la sonde. Le seuil est la partie qui compte. Sur un lien 4G le flux tombe regulierement sans que personne n'ait touche au telephone : tunnel, bascule d'antenne, congestion. Alerter des la premiere sonde ratee produirait plusieurs CRITICAL par jour, et on apprend vite a ignorer des alertes qui crient pour rien - y compris le jour ou elles ont raison. Trois sondes consecutives, soit une minute d'absence reelle. Six tests couvrent ce comportement, dont la remise a zero du compteur au retour du flux. Utilisateur d'API dedie cote MediaMTX, restreint au reseau Docker interne. 41 tests au vert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
34 lines
1.2 KiB
Text
34 lines
1.2 KiB
Text
# Generer le .env avant le premier demarrage :
|
|
#
|
|
# grep -v '^DB_PASSWORD=' .env.example > .env
|
|
# printf 'DB_PASSWORD=%s\n' "$(openssl rand -hex 24)" >> .env
|
|
# chmod 600 .env
|
|
#
|
|
# Ne pas faire un sed global sur CHANGEME : le motif apparait aussi dans ce
|
|
# commentaire, et le mot de passe genere s'y retrouverait en clair.
|
|
|
|
# Mot de passe PostgreSQL. Obligatoire : le compose refuse de demarrer sans.
|
|
DB_PASSWORD=CHANGEME
|
|
|
|
# Simulateur de capteur. A desactiver le jour ou le vrai iPhone POSTe
|
|
# sur /api/v1/sensor-events.
|
|
SIMULATOR_ENABLED=true
|
|
SIMULATOR_INTERVAL=8s
|
|
|
|
# Reglages de sensibilite de l'alarme.
|
|
ALARM_EXIT_DELAY=30s
|
|
ALARM_MIN_CONFIDENCE=60
|
|
|
|
LOG_LEVEL=INFO
|
|
|
|
# Mot de passe de publication du flux video.
|
|
# Seul l'iPhone doit pouvoir pousser sur le flux "biblio" : sans ce garde-fou,
|
|
# n'importe qui sur Internet remplacerait l'image du studio par la sienne.
|
|
# Genere au deploiement, comme DB_PASSWORD :
|
|
# printf 'STREAM_PUBLISH_PASSWORD=%s\n' "$(openssl rand -hex 16)" >> .env
|
|
STREAM_PUBLISH_PASSWORD=CHANGEME
|
|
|
|
# Mot de passe de l'API MediaMTX, utilise par la sonde de presence video.
|
|
# Genere au deploiement :
|
|
# printf 'MEDIA_API_PASSWORD=%s\n' "$(openssl rand -hex 16)" >> .env
|
|
MEDIA_API_PASSWORD=CHANGEME
|