mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 16:24:43 +02:00
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>
This commit is contained in:
parent
b032820f23
commit
3c55ee968d
6 changed files with 207 additions and 1 deletions
|
|
@ -99,6 +99,25 @@ spec:
|
|||
volumeMounts:
|
||||
- name: home
|
||||
mountPath: /home/finlab
|
||||
# ── WATCHER : alertes de prix par email (boucle 5 min → relais postfix storage-01) ──
|
||||
- name: watcher
|
||||
image: ghcr.io/alkatrazz24/funk-finlab:sha-73e2ad3
|
||||
command: ["/opt/venv/bin/python", "-m", "finlab.watcher"]
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop: ["ALL"]
|
||||
env:
|
||||
# Relais SMTP du lab (storage-01) — accepte les pods k8s (mynetworks), pas de secret.
|
||||
- { name: SMTP_HOST, value: "192.168.10.1" }
|
||||
- { name: SMTP_PORT, value: "25" }
|
||||
- { name: WATCH_INTERVAL, value: "300" }
|
||||
resources:
|
||||
requests: { cpu: 25m, memory: 192Mi }
|
||||
limits: { cpu: 250m, memory: 384Mi }
|
||||
volumeMounts:
|
||||
- name: home
|
||||
mountPath: /home/finlab
|
||||
volumes:
|
||||
- name: home
|
||||
persistentVolumeClaim:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue