Funk-lab/k8s/apps
ALI YESILKAYA 3c55ee968d
feat(finlab): alertes de prix par email (watcher sidecar, boucle 5 min) (#71)
Permet de configurer des alertes « préviens-moi par mail quand NVDA atteint 200$ »
depuis la Console IA. Un sidecar surveille les cours en continu.

- finlab/watcher.py : boucle toutes les 5 min, lit price_alerts.yaml (workspace),
  évalue les seuils above/below, envoie un email au franchissement. Anti-spam
  (1 mail/seuil, état .watcher-state.json, ré-armé en ré-éditant). Modes --once / --test
- Email via le relais postfix du lab (storage-01:25, SMTP_HOST) qui réécrit
  l'expéditeur en Gmail — AUCUN secret (pods k8s dans mynetworks)
- price_alerts.yaml : config seedée dans le workspace (email_to + rules), éditée
  par la Console IA sur demande
- deployment : conteneur sidecar `watcher` (boucle 5 min, ressources minimes)
- Dockerfile : seed price_alerts.yaml ; persona console + admin/ia/finlab.md documentés

Logique testée en local (SMTP mocké) : franchissement → envoi, anti-spam au 2e run,
seuil non atteint → rien.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 16:00:41 +02:00
..
finlab feat(finlab): alertes de prix par email (watcher sidecar, boucle 5 min) (#71) 2026-06-30 16:00:41 +02:00
ghostfolio revert(ghostfolio): retirer BASE_CURRENCY (no-op en v3.11) 2026-06-15 14:50:22 +02:00
n8n fix(k8s/n8n): N8N_SECURE_COOKIE=false — HTTP interne sans TLS 2026-05-29 15:46:32 +02:00
open-webui fix(k8s/open-webui): memory 1Gi→2Gi (OOMKill HuggingFace download au boot) 2026-05-29 15:42:54 +02:00
openalice chore(openalice): suspend le déploiement (replicas 0), conserve tout (#63) 2026-06-28 18:05:57 +02:00
searxng fix(searxng): crash port — enableServiceLinks:false + port/bind explicites (#50) 2026-06-22 22:50:46 +02:00
stt ci(stt): image → sha-f47bc36 [skip ci] 2026-06-23 21:48:55 +00:00