Thanks to visit codestin.com
Credit goes to github.com

Skip to content

NAZCAMEDIA/eco-guardian-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ ECO-GUARDIAN SYSTEM

Sistema de monitoreo automático invisible para proyectos de desarrollo que detecta cambios, ejecuta tests y envía notificaciones inteligentes.

🎯 Características Principales

🔍 ECO-WATCHER

  • Monitoreo Git en tiempo real de repositorios múltiples
  • Detección semántica de tipos de cambio (feat/fix/refactor)
  • Análisis de archivos críticos (.env, package.json, etc.)
  • Polling inteligente con optimización de recursos

⚡ ECO-EXECUTOR

  • Ejecución automática de tests basada en tipo de cambio
  • Paralelización inteligente de test suites
  • Detección automática de frameworks (React, Python, etc.)
  • Métricas de performance y cobertura

📡 ECO-NOTIFIER

  • Notificaciones inteligentes multi-canal
  • Clasificación automática de severidad
  • Integración Discord, Email, Slack
  • Modo stealth con comunicaciones anonymizadas

🚀 Quick Start

Instalación

git clone [repo-url]
cd eco-guardian-system
npm install
cp .env.example .env
# Configurar variables de entorno

Configuración

# Editar .env con tus credenciales
GITHUB_TOKEN=your_token_here
DISCORD_BOT_TOKEN=your_discord_token
MONITORED_REPOS_PATH=/path/to/your/repos

Ejecución

# Desarrollo
npm run dev

# Producción
npm start

# Solo monitoreo
npm run monitor

# Dashboard web
npm run dashboard

📊 Proyectos Monitoreados

El sistema detecta automáticamente y monitorea:

  • CEP-FORMACION - Sistema automatización marketing (Python)
  • Corsair-Command-Center - Interfaz HUD sci-fi (React/TypeScript)
  • PRILABSA-WEBSITE-2025 - Sitio corporativo (React/Netlify)
  • solaria-cepcomunicacion - App cliente (React/Vite)
  • prilabsa-classic - Legacy website (React/TypeScript)

🔧 Stack Tecnológico

  • Core: Node.js + Express + SQLite
  • Monitoring: Chokidar + Simple-Git + GitHub APIs
  • Testing: Vitest + Playwright (auto-detección)
  • Notifications: Discord.js + Nodemailer
  • Dashboard: React + Vite + Chart.js
  • Cache: Redis para métricas tiempo real

📁 Estructura del Proyecto

eco-guardian-system/
├── src/
│   ├── watcher/           # ECO-WATCHER - Git monitoring
│   ├── executor/          # ECO-EXECUTOR - Test execution  
│   ├── notifier/          # ECO-NOTIFIER - Smart notifications
│   ├── dashboard/         # Web dashboard
│   └── utils/             # Database, Logger, helpers
├── config/                # Configuration files
├── logs/                  # System logs (anonymized)
├── data/                  # SQLite database
└── docs/                  # Documentation

🔐 Modo Stealth

Sistema diseñado para operar de forma invisible:

  • Sin rastros identificables en logs o notificaciones
  • Datos anonymizados automáticamente
  • Integración nativa con proyectos existentes
  • Comunicaciones cifradas entre componentes
  • Métricas sanitizadas para reporting

📈 Métricas y Dashboard

Métricas Tracked

  • Commits por repositorio y autor
  • Ejecuciones de tests y resultados
  • Tiempo de respuesta a cambios
  • Cobertura de tests por proyecto
  • Notificaciones enviadas por canal

Dashboard Features

  • Vista en tiempo real de actividad
  • Gráficos de tendencias por proyecto
  • Alertas configurables por severidad
  • Exportación de reportes anonymizados

🚨 Tipos de Notificaciones

Severidad Crítica

  • Tests fallando en main/production
  • Errores de build en deployment
  • Vulnerabilidades de seguridad detectadas

Severidad Alta

  • Tests fallando en features
  • Performance degradation detectada
  • Dependencias con updates críticos

Severidad Media

  • Nuevas features completadas
  • Refactoring completado exitosamente
  • Documentación actualizada

Severidad Baja

  • Commits de desarrollo rutinario
  • Updates de configuración menores
  • Logs de monitoreo rutinario

🔧 Comandos Disponibles

# Desarrollo y testing
npm run dev                # Hot reload development
npm run test               # Run test suite
npm run test:watch         # Watch mode testing

# Monitoreo
npm run monitor            # Start Git monitoring
npm run monitor:debug      # Debug mode with verbose logs
npm run scan               # One-time repository scan

# Dashboard y reporting  
npm run dashboard          # Start web dashboard (port 3001)
npm run api                # Start API server (port 3000)
npm run report             # Generate anonymized report

# Utilidades
npm run db:migrate         # Run database migrations
npm run db:seed            # Seed with sample data
npm run logs:clean         # Clean old log files
npm run config:validate    # Validate configuration

📡 CLI n8n-webhook-setup

Configuración de Variables de Entorno

Antes de usar el CLI, configura las variables de entorno necesarias:

# Configuración básica
export N8N_BASE_URL="https://your-n8n-instance.com"
export N8N_API_KEY="your-api-key-here"
export N8N_WEBHOOK_SECRET="your-webhook-secret"

# Configuración avanzada (opcional)
export N8N_WEBHOOK_TIMEOUT="30000"  # Timeout en ms
export N8N_RETRY_ATTEMPTS="3"       # Reintentos en caso de fallo
export N8N_LOG_LEVEL="info"         # Nivel de logging

Ejemplos de Uso

# Instalación y configuración inicial
npm install -g n8n-webhook-setup

# Configurar webhooks para un repositorio específico
export N8N_BASE_URL="https://n8n.yourdomain.com"
export N8N_API_KEY="n8n_api_1234567890abcdef"
npx n8n-webhook-setup --repo="my-project" --events="push,pull_request"

# Configuración con múltiples repositorios
export N8N_BASE_URL="https://automation.company.com"
npx n8n-webhook-setup --batch --config="./webhook-config.json"

# Modo debug con logging detallado
export N8N_LOG_LEVEL="debug"
npx n8n-webhook-setup --repo="eco-guardian" --dry-run

# Configuración con autenticación personalizada
export N8N_BASE_URL="https://workflows.internal.net"
export N8N_API_KEY="custom_token_xyz789"
export N8N_WEBHOOK_SECRET="super-secret-webhook-key"
npx n8n-webhook-setup --repo="critical-project" --secure

Configuración por Archivo

Crear webhook-config.json para configuración batch:

{
  "repositories": [
    {
      "name": "eco-guardian-system",
      "events": ["push", "pull_request", "release"],
      "branch_filter": "main,develop"
    },
    {
      "name": "project-alpha",
      "events": ["push"],
      "branch_filter": "main"
    }
  ],
  "global_settings": {
    "timeout": 30000,
    "retry_attempts": 3,
    "stealth_mode": true
  }
}

🔧 Solución de Problemas

Problemas Comunes

1. Error de Conexión con n8n

# Verificar conectividad
curl -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_BASE_URL/api/v1/workflows"

# Solución:
# - Verificar que N8N_BASE_URL sea accesible
# - Comprobar que N8N_API_KEY sea válida
# - Revisar firewall y configuración de red

2. Webhooks no se Ejecutan

# Debug de webhooks
export N8N_LOG_LEVEL="debug"
npx n8n-webhook-setup --test --repo="your-repo"

# Verificar logs
tail -f logs/webhook-setup.log

3. Permisos Insuficientes

# Verificar permisos de API
curl -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_BASE_URL/api/v1/me"

# Solución:
# - Regenerar API key con permisos completos
# - Verificar roles de usuario en n8n

4. Timeouts en Configuración

# Aumentar timeout
export N8N_WEBHOOK_TIMEOUT="60000"
npx n8n-webhook-setup --repo="large-project" --timeout=60000

Política de Fallback

Estrategia de Recuperación Automática

  1. Reintentos Progresivos

    • Intento 1: Inmediato
    • Intento 2: 5 segundos
    • Intento 3: 15 segundos
    • Intento 4: 30 segundos
  2. Fallback a Polling

    # Si webhooks fallan, activar polling
    export ECO_FALLBACK_MODE="polling"
    export ECO_POLLING_INTERVAL="30000"  # 30 segundos
    npm run monitor:fallback
  3. Notificaciones de Degradación

    • Alertas automáticas cuando el sistema entra en modo fallback
    • Métricas de disponibilidad y performance
    • Recuperación automática cuando el servicio se restaura

Configuración de Resilencia

{
  "fallback_policy": {
    "max_retries": 3,
    "retry_delay_ms": [1000, 5000, 15000],
    "fallback_to_polling": true,
    "polling_interval_ms": 30000,
    "health_check_interval_ms": 60000,
    "auto_recovery": true
  },
  "monitoring": {
    "track_fallback_usage": true,
    "alert_on_degradation": true,
    "metrics_retention_days": 30
  }
}

Comandos de Diagnóstico

# Diagnóstico completo del sistema
npm run diagnose

# Verificar estado de webhooks
npm run webhook:status

# Forzar modo fallback
npm run force:fallback

# Recuperación manual
npm run recover:webhooks

# Limpiar estado corrupto
npm run clean:state

Logs de Troubleshooting

# Logs específicos por componente
tail -f logs/webhook-setup.log     # Configuración de webhooks
tail -f logs/fallback.log          # Activación de fallback
tail -f logs/recovery.log          # Procesos de recuperación
tail -f logs/health-check.log      # Monitoreo de salud

# Análisis de errores
grep "ERROR" logs/*.log | tail -20
grep "FALLBACK" logs/*.log | tail -10

🤝 Integración con Proyectos Existentes

Auto-detección de Frameworks

  • React/Vite: npm test, npm run build
  • Python: pytest, python -m unittest
  • Node.js: npm test, jest
  • General: Lint, type-check, custom scripts

Configuración por Proyecto

Crear .eco-guardian.json en la raíz del proyecto:

{
  "enabled": true,
  "testCommand": "npm test",
  "buildCommand": "npm run build", 
  "criticalFiles": [".env", "package.json"],
  "notifications": {
    "channels": ["discord", "email"],
    "severity": "medium"
  },
  "stealth": true
}

📞 Soporte

Sistema desarrollado para operación autónoma. Para configuración avanzada consultar la documentación técnica en /docs/.


Desarrollado con 🔒 y ⚡ - Sistema de monitoreo invisible y automatizado

About

Sistema de monitoreo automático stealth con integración N8N

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published