init stacks

This commit is contained in:
tan-docker
2026-03-21 14:12:55 +01:00
commit d3e8da2e25
1919 changed files with 200787 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
from fastapi import APIRouter
from api.correlation.collectors import collect_metrics
from api.correlation.engine import evaluate, RULES
from api.llm.client import explain_incident
router = APIRouter()
@router.get("/alerts")
def alerts():
metrics = collect_metrics()
# Récupère la liste de règles depuis RULES ; fallback sur [] si introuvable
rules_list = []
if isinstance(RULES, dict):
rules_list = RULES.get("rules", []) or []
elif isinstance(RULES, list):
rules_list = RULES
incidents = evaluate(rules_list, metrics)
if not incidents:
return {"status": "ok"}
for incident in incidents:
# explain_incident doit être résilient — voir api/llm/client.py pour fallback
incident["summary"] = explain_incident(incident, metrics)
return {
"status": "incident",
"incidents": incidents,
}
+7
View File
@@ -0,0 +1,7 @@
from fastapi import APIRouter
router = APIRouter()
@router.get("/health")
def health():
return {"status": "ok"}