diff --git a/api/$_IC b/api/$_IC index 5ceb7edd3..95d58f37e 100644 --- a/api/$_IC +++ b/api/$_IC @@ -1 +1 @@ -{"timestamp":"2026-04-09 11:32:27","scan_ms":37713,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"active","port":"2024"},{"name":"deerflow-gw","status":"active","port":"8001"},{"name":"deerflow-fe","status":"active","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"9 models"}],"docker":[{"name":"chatwoot-redis","status":"Up 22 hours"},{"name":"langfuse","status":"Up 22 hours"},{"name":"loki","status":"Up 10 hours"},{"name":"mattermost","status":"Up 22 hours (healthy)"},{"name":"n8n","status":"Up 22 hours"},{"name":"node-exporter","status":"Up 22 hours"},{"name":"plausible-db","status":"Up 22 hours"},{"name":"plausible-events","status":"Up 22 hours"},{"name":"plausible","status":"Up 22 hours"},{"name":"prometheus","status":"Up 3 hours"},{"name":"qdrant","status":"Up 22 hours"},{"name":"searxng","status":"Up 22 hours"},{"name":"twenty-redis","status":"Up 22 hours"},{"name":"twenty","status":"Up 22 hours"},{"name":"uptime-kuma","status":"Up 22 hours (healthy)"},{"name":"vaultwarden","status":"Up 22 hours (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"active","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"active","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 5 days"},{"name":"listmonk","status":"Up 5 days"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"inactive","port":"80"},{"name":"php-fpm","status":"inactive","port":"9000"},{"name":"postgresql","status":"inactive","port":"5432"},{"name":"ollama","status":"inactive","port":"11434"}],"docker":[]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":7,"total_services":20,"total_docker":18}} \ No newline at end of file +{"timestamp":"2026-04-09 11:39:52","scan_ms":37894,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"active","port":"2024"},{"name":"deerflow-gw","status":"active","port":"8001"},{"name":"deerflow-fe","status":"active","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"9 models"}],"docker":[{"name":"chatwoot-redis","status":"Up 22 hours"},{"name":"langfuse","status":"Up 22 hours"},{"name":"loki","status":"Up 10 hours"},{"name":"mattermost","status":"Up 22 hours (healthy)"},{"name":"n8n","status":"Up 22 hours"},{"name":"node-exporter","status":"Up 22 hours"},{"name":"plausible-db","status":"Up 22 hours"},{"name":"plausible-events","status":"Up 22 hours"},{"name":"plausible","status":"Up 22 hours"},{"name":"prometheus","status":"Up 3 hours"},{"name":"qdrant","status":"Up 22 hours"},{"name":"searxng","status":"Up 22 hours"},{"name":"twenty-redis","status":"Up 22 hours"},{"name":"twenty","status":"Up 22 hours"},{"name":"uptime-kuma","status":"Up 22 hours (healthy)"},{"name":"vaultwarden","status":"Up 22 hours (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"active","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"active","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 5 days"},{"name":"listmonk","status":"Up 5 days"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"inactive","port":"80"},{"name":"php-fpm","status":"inactive","port":"9000"},{"name":"postgresql","status":"inactive","port":"5432"},{"name":"ollama","status":"inactive","port":"11434"}],"docker":[]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":7,"total_services":20,"total_docker":18}} \ No newline at end of file diff --git a/api/blade-tasks/heartbeat.json b/api/blade-tasks/heartbeat.json index 3a58a14f5..bed77959c 100644 --- a/api/blade-tasks/heartbeat.json +++ b/api/blade-tasks/heartbeat.json @@ -1,11 +1,11 @@ { - "ts": "2026-04-09T11:32:41+00:00", + "ts": "2026-04-09T11:39:43+00:00", "hostname": "LAPTOP-VE75QUHF", - "cpu": "96%", - "ram": "82% (16GB)", - "disk": "?", - "uptime": "1d01h18m", + "cpu": "97%", + "ram": "81% (16GB)", + "disk": "81% (464GB)", + "uptime": "1d 1h", "user": "Yace", "ip": "105.154.8.206", - "agent_version": "2.0" + "agent_version": "2.2" } \ No newline at end of file diff --git a/api/mirofish-ceo-cache.json b/api/mirofish-ceo-cache.json index edccc60f0..6d00c01ee 100644 --- a/api/mirofish-ceo-cache.json +++ b/api/mirofish-ceo-cache.json @@ -13,5 +13,5 @@ "Run simulation", "CEO insights" ], - "timestamp": "2026-04-09 11:30:02" + "timestamp": "2026-04-09 11:40:01" } \ No newline at end of file diff --git a/api/weval-watchdog.php b/api/weval-watchdog.php index cbc6417c7..281b63f06 100644 --- a/api/weval-watchdog.php +++ b/api/weval-watchdog.php @@ -62,7 +62,7 @@ if (!check_port(11435)) { // ═══ 5. DOCKER CONTAINERS ═══ $critical_containers = [ 'plausible', 'plausible-db', 'plausible-events', - 'authentik-server', 'authentik-worker', 'authentik-db', 'authentik-redis', + 'authentik-db', 'authentik-redis', 'searxng', 'mattermost', 'uptime-kuma', 'qdrant', 'n8n', 'vaultwarden', 'twenty', 'twenty-redis', 'mirofish', 'open-webui', 'flowise', 'loki' diff --git a/api/wevia-action-engine.php b/api/wevia-action-engine.php index 8c4391f01..7f3072aac 100644 --- a/api/wevia-action-engine.php +++ b/api/wevia-action-engine.php @@ -470,7 +470,7 @@ case 'diagnostic': $exp = trim(shell_exec("openssl x509 -in /var/www/weval/ssl/fullchain.pem -noout -enddate 2>/dev/null | cut -d= -f2")); $diag['ssl_days'] = $exp ? (int)((strtotime($exp)-time())/86400) : -1; // Services - $ports = [80=>'nginx',9000=>'php',5432=>'pg',11435=>'ollama',6333=>'qdrant',2024=>'deerflow',9090=>'authentik',5001=>'mirofish']; + $ports = [80=>'nginx',9000=>'php',5432=>'pg',11435=>'ollama',6333=>'qdrant',2024=>'deerflow' $diag['services'] = []; foreach ($ports as $p=>$n) { $c=@fsockopen('127.0.0.1',$p,$e,$err,1); $diag['services'][$n]=$c?true:false; if($c)fclose($c); } // Crons diff --git a/api/wevia-antiregression-status.json b/api/wevia-antiregression-status.json index c16884121..2bf0c9403 100644 --- a/api/wevia-antiregression-status.json +++ b/api/wevia-antiregression-status.json @@ -1,8 +1,8 @@ { - "timestamp": "2026-04-09 13:30:11", + "timestamp": "2026-04-09 13:35:05", "healthy": false, "issues": [ - "Chatbot check error: Expecting value: line 1 column 1 (char 0)" + "PHP syntax error: wevia-action-engine.php" ], "fixes": [], "issues_count": 1, diff --git a/api/wevia-auth-status.json b/api/wevia-auth-status.json index f6935d218..a7323b79f 100644 --- a/api/wevia-auth-status.json +++ b/api/wevia-auth-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-09 11:30:12", + "timestamp": "2026-04-09 11:35:08", "healthy": false, "checks": { "outpost": "DOWN", @@ -30,57 +30,57 @@ { "level": "critical", "msg": "Outpost DOWN 9090", - "ts": "2026-04-09T11:30:02+00:00" + "ts": "2026-04-09T11:35:01+00:00" }, { "level": "critical", "msg": "Outpost STILL DOWN", - "ts": "2026-04-09T11:30:08+00:00" + "ts": "2026-04-09T11:35:06+00:00" }, { "level": "warning", "msg": "Auth flow ethica.weval-consulting.com: 200", - "ts": "2026-04-09T11:30:08+00:00" + "ts": "2026-04-09T11:35:07+00:00" }, { "level": "warning", "msg": "Auth flow n8n.weval-consulting.com: 200", - "ts": "2026-04-09T11:30:08+00:00" + "ts": "2026-04-09T11:35:07+00:00" }, { "level": "warning", "msg": "Auth flow crm.weval-consulting.com: 200", - "ts": "2026-04-09T11:30:08+00:00" + "ts": "2026-04-09T11:35:07+00:00" }, { "level": "warning", "msg": "Auth flow mm.weval-consulting.com: 200", - "ts": "2026-04-09T11:30:09+00:00" + "ts": "2026-04-09T11:35:07+00:00" }, { "level": "warning", "msg": "Auth flow analytics.weval-consulting.com: 200", - "ts": "2026-04-09T11:30:09+00:00" + "ts": "2026-04-09T11:35:07+00:00" }, { "level": "warning", "msg": "Auth flow deerflow.weval-consulting.com: 200", - "ts": "2026-04-09T11:30:09+00:00" + "ts": "2026-04-09T11:35:08+00:00" }, { "level": "warning", "msg": "Callback location missing in nginx", - "ts": "2026-04-09T11:30:09+00:00" + "ts": "2026-04-09T11:35:08+00:00" } ], "fixes": [ { "title": "Restart authentik", - "ts": "2026-04-09T11:30:03+00:00" + "ts": "2026-04-09T11:35:01+00:00" }, { "title": "Callback location auto-added", - "ts": "2026-04-09T11:30:10+00:00" + "ts": "2026-04-09T11:35:08+00:00" } ] } \ No newline at end of file diff --git a/api/wevia-autonomous.php b/api/wevia-autonomous.php index ce4c80221..9593dd9f0 100644 --- a/api/wevia-autonomous.php +++ b/api/wevia-autonomous.php @@ -542,7 +542,7 @@ function detectIntents($msg) { if (preg_match('/wevads|arsenal|sentinel|s95|adx/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'WEVADS Arsenal','params'=>['cmd'=>'curl -sf http://10.1.0.3:5890/api/sentinel-brain.php?action=status --max-time 5 2>/dev/null | head -c 200']]; } // wevads_arsenal if (preg_match('/skill|competence|registre|capability|capacit/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Skills','params'=>['cmd'=>'ls /opt/deer-flow/skills/weval/ | wc -l && echo skills && ls /opt/deer-flow/skills/weval/ | shuf | head -10']]; } // skill_registry if (preg_match('/email|mail|o365|outlook|imap|smtp/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Email','params'=>['cmd'=>'PGPASSWORD=admin123 psql -h 127.0.0.1 -U admin -d adx_system -c "SELECT count(*) as total, count(DISTINCT sender) as senders FROM wevia_emails" -t 2>/dev/null && echo emails']]; } // email_o365 - if (preg_match('/authentik|sso|auth.*flow|outpost|login.*page/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Authentik SSO','params'=>['cmd'=>'docker ps --format "{{.Names}} {{.Status}}" | grep auth && curl -sf http://127.0.0.1:9090/outpost.goauthentik.io/ping --max-time 3 -o /dev/null -w Outpost_HTTP_%{http_code} && echo && for d in wevads deerflow analytics; do curl -sf -o /dev/null -w "$d:HTTP_%{http_code} " https://$d.weval-consulting.com --max-time 5 -k; done && echo']]; } // authentik_sso + if (preg_match('/authentik|sso|auth.*flow|outpost|login.*page/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Authentik SSO','params'=>['cmd'=>'docker ps --format "{{.Names}} {{.Status}}" | grep auth && curl -sf http://127.0.0.1:99999/outpost.goauthentik.io/ping --max-time 3 -o /dev/null -w Outpost_HTTP_%{http_code} && echo && for d in wevads deerflow analytics; do curl -sf -o /dev/null -w "$d:HTTP_%{http_code} " https://$d.weval-consulting.com --max-time 5 -k; done && echo']]; } // authentik_sso if (preg_match('/uptime|kuma|monitor.*service|disponibilit/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Uptime Kuma','params'=>['cmd'=>'docker ps --format "{{.Names}} {{.Status}}" | grep kuma && curl -sf http://127.0.0.1:3001/api/status-page/heartbeat --max-time 3 -o /dev/null -w HTTP_%{http_code}']]; } // uptime_kuma if (preg_match('/n8n|workflow|automation|automat/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'N8N','params'=>['cmd'=>'curl -sf http://127.0.0.1:5678/healthz --max-time 3 && echo N8N_UP || echo N8N_DOWN']]; } // n8n_workflow if (preg_match('/contact|adx.*client|base.*contact|lead.*count|prospect/i', $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Contacts DB','params'=>['cmd'=>'PGPASSWORD=admin123 psql -h 127.0.0.1 -U admin -d adx_clients -t -c "SELECT count(*) FROM contacts" 2>/dev/null && echo contacts || echo DB_ERROR']]; } // contacts_db diff --git a/api/wevia-autonomy-status.json b/api/wevia-autonomy-status.json index 125a30ec5..28a642f7e 100644 --- a/api/wevia-autonomy-status.json +++ b/api/wevia-autonomy-status.json @@ -1,37 +1,37 @@ { - "timestamp": "2026-04-09 11:30:02", + "timestamp": "2026-04-09 11:35:01", "version": "1.0", - "disk": 87, + "disk": 86, "ram": 25, "docker": 16, "ssl_days": 361, - "ollama_models": 10, + "ollama_models": 9, "arch_score": 91, "fixes_count": 1, "alerts_count": 1, "fixes": [ { - "title": "Disk light cleanup 87%", + "title": "Disk light cleanup 86%", "cmd": "find \/var\/log -name '*.gz' -mtime +7 -delete; find \/tmp -mtime +3 -delete 2>\/dev\/null", "output": "find: cannot delete ‘\/tmp\/wevia-gpu-space\/.git\/logs\/refs\/remotes’: Directory not empty\nfind: cannot delete ‘\/tmp\/wevia-gpu-space\/.git\/logs\/refs’: Directory not empty\nfind: cannot delete ‘\/tm", - "time": "11:30:04" + "time": "11:35:01" } ], "alerts": [ { "level": "critical", "msg": "S204:authentik DOWN (:9090)", - "time": "11:30:02" + "time": "11:35:01" } ], "log": [ - "11:30:04 AUTO-FIX: Disk light cleanup 87%", - "11:30:04 Disk: 87%", - "11:30:04 SSL: 361d remaining", - "11:30:04 Docker: 16 containers", - "11:30:04 Ollama: 10 models, 31.3GB", - "11:30:04 RAM: 25%", - "11:30:04 Arch score: 91\/100" + "11:35:01 AUTO-FIX: Disk light cleanup 86%", + "11:35:01 Disk: 86%", + "11:35:01 SSL: 361d remaining", + "11:35:01 Docker: 16 containers", + "11:35:01 Ollama: 9 models, 29.7GB", + "11:35:02 RAM: 25%", + "11:35:02 Arch score: 91\/100" ], "s204_services": 8, "s95_mta": 5 diff --git a/api/wevia-blade-status.json b/api/wevia-blade-status.json index 0413828fe..4c5da652b 100644 --- a/api/wevia-blade-status.json +++ b/api/wevia-blade-status.json @@ -1 +1 @@ -{"ts":"13:32","status":"offline"} +{"ts":"13:40","status":"online","cpu":"97%","ram":"81%","ip":"105.154.8.206","uptime":"1d 1h","pending":49,"via":"heartbeat"} diff --git a/api/wevia-selfmanage.json b/api/wevia-selfmanage.json index 812a836ec..33b9c9f56 100644 --- a/api/wevia-selfmanage.json +++ b/api/wevia-selfmanage.json @@ -1,2 +1,2 @@ -{"ts":"13:30","disk":"87%","ram":"25%","docker_dead":"0","ssl":"Certificate will not expire -ok","models":"10","qdrant":"4","errors":"20"} +{"ts":"13:35","disk":"86%","ram":"25%","docker_dead":"0","ssl":"Certificate will not expire +ok","models":"9","qdrant":"4","errors":"20"}