🎓 Initial commit: Math2 Platform - Plataforma de Álgebra Lineal PRO
Some checks failed
Test Suite / test-backend (push) Has been cancelled
Test Suite / test-frontend (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / coverage-check (push) Has been cancelled

 Características:
- 45 ejercicios universitarios (Basic → Advanced)
- Renderizado LaTeX profesional
- IA generativa (Z.ai/DashScope)
- Docker 9 servicios
- Tests 123/123 pasando
- Seguridad enterprise (JWT, XSS, Rate limiting)

🐳 Infraestructura:
- Next.js 14 + Node.js 20
- PostgreSQL 15 + Redis 7
- Docker Compose completo
- Nginx + SSL ready

📚 Documentación:
- 5 informes técnicos completos
- README profesional
- Scripts de deployment automatizados

Estado: Producción lista 
This commit is contained in:
Renato
2026-03-31 11:27:11 -03:00
commit bc43c9e772
309 changed files with 84845 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
# ========================================
# ALERTMANAGER CONFIGURATION
# Enterprise Alert Routing
# ========================================
global:
smtp_smarthost: '${SMTP_HOST:-localhost:587}'
smtp_from: '${SMTP_FROM:-alerts@mathplatform.com}'
smtp_auth_username: '${SMTP_USER:-}'
smtp_auth_password: '${SMTP_PASSWORD:-}'
slack_api_url: '${SLACK_WEBHOOK_URL:-}'
telegram_api_url: 'https://api.telegram.org'
# Templates
templates:
- '/etc/alertmanager/templates/*.tmpl'
# Inhibition rules
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'instance']
# Route tree
troute:
receiver: 'default-receiver'
group_by: ['alertname', 'severity', 'instance']
group_wait: 10s
group_interval: 5m
repeat_interval: 4h
routes:
# Critical alerts
- match:
severity: critical
receiver: 'critical-receiver'
continue: true
# Database alerts
- match:
job: postgres
receiver: 'database-receiver'
group_interval: 10m
# Backend alerts
- match:
job: backend
receiver: 'backend-receiver'
group_interval: 5m
# Receivers
receivers:
- name: 'default-receiver'
slack_configs:
- channel: '#alerts'
title: 'Math Platform Alert'
text: '{{ range .Alerts }}{{ .Annotations.summary }}{{ end }}'
send_resolved: true
- name: 'critical-receiver'
slack_configs:
- channel: '#critical-alerts'
title: 'CRITICAL: Math Platform'
text: '{{ range .Alerts }}{{ .Annotations.description }}{{ end }}'
send_resolved: true
email_configs:
- to: '${CRITICAL_EMAIL:-admin@mathplatform.com}'
subject: 'CRITICAL Alert: {{ .GroupLabels.alertname }}'
html: '{{ template "email.default.html" . }}'
send_resolved: true
telegram_configs:
- bot_token: '${TELEGRAM_BOT_TOKEN}'
chat_id: '${TELEGRAM_ADMIN_CHAT_ID}'
message: '🔴 CRITICAL: {{ .GroupLabels.alertname }} - {{ range .Alerts }}{{ .Annotations.summary }}{{ end }}'
send_resolved: true
- name: 'database-receiver'
slack_configs:
- channel: '#database-alerts'
title: 'Database Alert'
text: '{{ range .Alerts }}{{ .Annotations.summary }}{{ end }}'
- name: 'backend-receiver'
slack_configs:
- channel: '#backend-alerts'
title: 'Backend Alert'
text: '{{ range .Alerts }}{{ .Annotations.summary }}{{ end }}'