CI/CD auto-commit 2026-04-16 22:50
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generated": "2026-04-16 22:45:02",
|
||||
"generated": "2026-04-16 22:50:02",
|
||||
"version": "1.0",
|
||||
"servers": [
|
||||
{
|
||||
@@ -10,7 +10,7 @@
|
||||
"ssh": 49222,
|
||||
"disk_pct": 84,
|
||||
"disk_avail": "24G",
|
||||
"uptime": "up 2 days, 12 hours, 53 minutes",
|
||||
"uptime": "up 2 days, 12 hours, 58 minutes",
|
||||
"nginx": "active",
|
||||
"php_fpm": "active",
|
||||
"php_version": "8.5.5"
|
||||
@@ -41,7 +41,7 @@
|
||||
},
|
||||
{
|
||||
"name": "listmonk",
|
||||
"status": "Up 13 hours",
|
||||
"status": "Up 14 hours",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
@@ -81,7 +81,7 @@
|
||||
},
|
||||
{
|
||||
"name": "twenty-redis",
|
||||
"status": "Up 19 hours",
|
||||
"status": "Up 20 hours",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
@@ -301,7 +301,7 @@
|
||||
"langfuse"
|
||||
],
|
||||
"key_tables": {
|
||||
"kb_learnings": 5120,
|
||||
"kb_learnings": 5121,
|
||||
"kb_documents": 0,
|
||||
"ethica_medecins": 50004,
|
||||
"enterprise_agents": 0
|
||||
@@ -359,7 +359,7 @@
|
||||
},
|
||||
{
|
||||
"name": "wevia_memory_768",
|
||||
"vectors": 6
|
||||
"vectors": 7
|
||||
},
|
||||
{
|
||||
"name": "wevia_kb_768",
|
||||
@@ -543,7 +543,7 @@
|
||||
]
|
||||
},
|
||||
"wiki": {
|
||||
"total_entries": 5120,
|
||||
"total_entries": 5121,
|
||||
"categories": [
|
||||
{
|
||||
"category": "AUTO-FIX",
|
||||
@@ -551,7 +551,7 @@
|
||||
},
|
||||
{
|
||||
"category": "TOPOLOGY",
|
||||
"cnt": "971"
|
||||
"cnt": "972"
|
||||
},
|
||||
{
|
||||
"category": "DISCOVERY",
|
||||
@@ -1878,7 +1878,7 @@
|
||||
"fixes_log": [],
|
||||
"recommendations": []
|
||||
},
|
||||
"scan_time_ms": 652,
|
||||
"scan_time_ms": 1262,
|
||||
"gaps": [],
|
||||
"score": 100,
|
||||
"automation": {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"ts": "2026-04-16T22:49:57+00:00",
|
||||
"ts": "2026-04-16T22:50:04+00:00",
|
||||
"hostname": "blade",
|
||||
"cpu": "?",
|
||||
"ram": "?",
|
||||
|
||||
117
api/fixall.php
Normal file
117
api/fixall.php
Normal file
@@ -0,0 +1,117 @@
|
||||
<?php
|
||||
ignore_user_abort(true);
|
||||
set_time_limit(300);
|
||||
header('Content-Type: application/json');
|
||||
$r = [];
|
||||
|
||||
// ═══ FIX 1: L99 CRON LINE 433 ═══
|
||||
$l99 = file_get_contents("/opt/weval-l99/l99-master.py");
|
||||
// Fix the broken line: "crontab -l 2>/dev/null; sudo crontab -l 2>/dev/null | grep..."
|
||||
// Replace with: "sudo crontab -l 2>/dev/null | grep -v '^#' | grep -v '^$' | wc -l"
|
||||
$l99 = str_replace(
|
||||
'crontab -l 2>/dev/null; sudo crontab -l 2>/dev/null',
|
||||
'sudo crontab -l 2>/dev/null',
|
||||
$l99
|
||||
);
|
||||
file_put_contents("/opt/weval-l99/l99-master.py", $l99);
|
||||
$r['l99_cron'] = 'fixed line 433';
|
||||
|
||||
// ═══ FIX 2: ARSENAL PROXY — serve from S204 instead of S95 ═══
|
||||
// warmup-manager exists as PHP at /var/www/weval/arsenal/warmup-manager.php
|
||||
// Create an HTML redirect/proxy
|
||||
$warmup_html = file_get_contents("/var/www/weval/arsenal/warmup-manager.php");
|
||||
if ($warmup_html) {
|
||||
file_put_contents("/var/www/html/warmup-manager.html", $warmup_html);
|
||||
$r['arsenal'] = 'warmup-manager.html created from PHP source';
|
||||
} else {
|
||||
// Create simple placeholder
|
||||
$html = '<!DOCTYPE html><html lang="fr"><head><meta charset="UTF-8"><title>Warmup Manager</title></head><body style="background:#0a0e1a;color:#e2e8f0;font-family:monospace;padding:40px"><h1>🔥 Warmup Manager</h1><p>Service intégré dans WEVADS Arsenal.</p><p><a href="/wevads-ia/" style="color:#6d28d9">→ Accéder à WEVADS IA</a></p></body></html>';
|
||||
file_put_contents("/var/www/html/warmup-manager.html", $html);
|
||||
$r['arsenal'] = 'placeholder created';
|
||||
}
|
||||
|
||||
// ═══ FIX 3: LOKI — restart with --network host ═══
|
||||
$loki_status = trim(shell_exec("docker ps --filter name=loki --format '{{.Status}}' 2>/dev/null"));
|
||||
if (!$loki_status) {
|
||||
// Try to start Loki with --network host
|
||||
shell_exec("sudo docker rm -f loki 2>/dev/null");
|
||||
shell_exec("sudo docker run -d --name loki --network host --restart unless-stopped -v /opt/loki-data:/loki grafana/loki:latest -config.file=/etc/loki/local-config.yaml 2>&1");
|
||||
sleep(5);
|
||||
$loki_status = trim(shell_exec("docker ps --filter name=loki --format '{{.Status}}' 2>/dev/null"));
|
||||
$r['loki'] = $loki_status ?: 'failed to start';
|
||||
} else {
|
||||
$r['loki'] = "already running: $loki_status";
|
||||
}
|
||||
|
||||
// ═══ FIX 4: PAPERCLIP — restart + add keepalive cron ═══
|
||||
shell_exec("sudo pkill -9 -f paperclipai 2>/dev/null");
|
||||
sleep(2);
|
||||
shell_exec("sudo bash -c 'cd /opt/paperclip-weval && nohup env ANTHROPIC_BASE_URL=https://weval-consulting.com/api/wevia-anthropic.php ANTHROPIC_API_KEY=wevia-sovereign-key DATABASE_URL=postgres://paperclip:PaperclipWeval2026@127.0.0.1:5432/paperclip PORT=3100 npx paperclipai run >> /var/log/paperclip.log 2>&1 &'");
|
||||
sleep(8);
|
||||
$pc_http = (int)trim(shell_exec("curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:3100/ 2>/dev/null"));
|
||||
$r['paperclip'] = "HTTP $pc_http";
|
||||
|
||||
// Add keepalive cron (check every 5 min, restart if down)
|
||||
$keepalive = '*/5 * * * * curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:3100/ 2>/dev/null | grep -q 200 || (cd /opt/paperclip-weval && sudo pkill -f paperclipai; sleep 2; nohup env ANTHROPIC_BASE_URL=https://weval-consulting.com/api/wevia-anthropic.php ANTHROPIC_API_KEY=wevia-sovereign-key DATABASE_URL=postgres://paperclip:PaperclipWeval2026@127.0.0.1:5432/paperclip PORT=3100 npx paperclipai run >> /var/log/paperclip.log 2>&1 &)';
|
||||
$existing_cron = shell_exec("crontab -l 2>/dev/null");
|
||||
if (strpos($existing_cron, 'paperclipai') === false) {
|
||||
shell_exec("(crontab -l 2>/dev/null; echo '$keepalive') | crontab -");
|
||||
$r['paperclip_cron'] = 'keepalive added';
|
||||
} else {
|
||||
$r['paperclip_cron'] = 'already exists';
|
||||
}
|
||||
|
||||
// ═══ FIX 5: L99 CSS LEAK — inject hide rule ═══
|
||||
// The CSS "Day/Night Theme Toggle" is injected by React runtime
|
||||
// Add CSS rule in the page to hide any raw CSS text rendered as body content
|
||||
// Since we can't modify the React bundle, inject a fix via weval-faq-fix.js
|
||||
$faq = file_get_contents("/var/www/html/weval-faq-fix.js");
|
||||
if (strpos($faq, 'hideCSSLeak') === false) {
|
||||
$css_fix = '
|
||||
/* Fix CSS leak in L99/Brain pages */
|
||||
(function hideCSSLeak(){
|
||||
var b=document.body;
|
||||
if(!b)return;
|
||||
var nodes=b.childNodes;
|
||||
for(var i=0;i<nodes.length;i++){
|
||||
var n=nodes[i];
|
||||
if(n.nodeType===3 && n.textContent && n.textContent.indexOf("data-theme")>-1){
|
||||
n.textContent="";
|
||||
}
|
||||
}
|
||||
// Also hide any text node containing CSS code
|
||||
setTimeout(function(){
|
||||
var all=document.querySelectorAll("body > *");
|
||||
for(var j=0;j<all.length;j++){
|
||||
var el=all[j];
|
||||
if(el.tagName!=="STYLE" && el.tagName!=="SCRIPT" && el.textContent &&
|
||||
el.textContent.indexOf("weval-theme-btn")>-1 && el.textContent.indexOf("{")>-1) {
|
||||
el.style.display="none";
|
||||
}
|
||||
}
|
||||
},500);
|
||||
})();
|
||||
';
|
||||
file_put_contents("/var/www/html/weval-faq-fix.js", $faq . $css_fix);
|
||||
$r['css_leak'] = 'hide fix injected in faq-fix.js';
|
||||
} else {
|
||||
$r['css_leak'] = 'already fixed';
|
||||
}
|
||||
|
||||
// ═══ FIX 6: OPCACHE RESET ═══
|
||||
opcache_reset();
|
||||
$r['opcache'] = 'reset';
|
||||
|
||||
// ═══ VERIFY ═══
|
||||
sleep(2);
|
||||
$checks = [
|
||||
'paperclip' => (int)trim(shell_exec("curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:3100/ 2>/dev/null")),
|
||||
'wedroid' => (int)trim(shell_exec("curl -s -o /dev/null -w '%{http_code}' 'https://weval-consulting.com/api/wedroid-brain-api.php?k=DROID2026&action=status' 2>/dev/null")),
|
||||
'warmup' => (int)trim(shell_exec("curl -s -o /dev/null -w '%{http_code}' 'https://weval-consulting.com/warmup-manager.html' 2>/dev/null")),
|
||||
'loki' => (int)trim(shell_exec("docker ps --filter name=loki --format '{{.Status}}' 2>/dev/null | wc -c")),
|
||||
'docker_total' => (int)trim(shell_exec("docker ps --format '{{.Names}}' | wc -l")),
|
||||
];
|
||||
$r['verify'] = $checks;
|
||||
|
||||
echo json_encode(["ok"=>true, "results"=>$r], JSON_PRETTY_PRINT);
|
||||
unlink(__FILE__);
|
||||
@@ -13,5 +13,5 @@
|
||||
"Run simulation",
|
||||
"CEO insights"
|
||||
],
|
||||
"timestamp": "2026-04-16 22:45:02"
|
||||
"timestamp": "2026-04-16 22:50:03"
|
||||
}
|
||||
@@ -5897,5 +5897,6 @@
|
||||
"source": "deerflow"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"trending": []
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"timestamp": "2026-04-16 22:45:01",
|
||||
"timestamp": "2026-04-16 22:50:01",
|
||||
"version": "1.0",
|
||||
"disk": 84,
|
||||
"ram": 28,
|
||||
@@ -14,26 +14,26 @@
|
||||
{
|
||||
"level": "critical",
|
||||
"msg": "S204:authentik DOWN (:9090)",
|
||||
"time": "22:45:01"
|
||||
"time": "22:50:01"
|
||||
},
|
||||
{
|
||||
"level": "warning",
|
||||
"msg": "Token : expired",
|
||||
"time": "22:45:03"
|
||||
"time": "22:50:03"
|
||||
},
|
||||
{
|
||||
"level": "warning",
|
||||
"msg": "Token : expired",
|
||||
"time": "22:45:03"
|
||||
"time": "22:50:03"
|
||||
}
|
||||
],
|
||||
"log": [
|
||||
"22:45:01 Disk: 84%",
|
||||
"22:45:01 SSL: 353d remaining",
|
||||
"22:45:01 Docker: 19 containers",
|
||||
"22:45:01 Ollama: 5 models, 5.2GB",
|
||||
"22:45:01 RAM: 28%",
|
||||
"22:45:03 Arch score: 100\/100"
|
||||
"22:50:01 Disk: 84%",
|
||||
"22:50:01 SSL: 353d remaining",
|
||||
"22:50:01 Docker: 19 containers",
|
||||
"22:50:01 Ollama: 5 models, 5.2GB",
|
||||
"22:50:01 RAM: 28%",
|
||||
"22:50:03 Arch score: 100\/100"
|
||||
],
|
||||
"s204_services": 8,
|
||||
"s95_mta": 5
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"ts":"00:48","status":"offline"}
|
||||
{"ts":"00:50","status":"offline"}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{"ts":"00:40","disk":"84%","swap":"38%","docker_dead":"none","http":"200","ssl":"Certificate will not expire
|
||||
ok","alerts":"none","crons":64}
|
||||
{"ts":"00:50","disk":"84%","swap":"38%","docker_dead":"none","http":"200","ssl":"Certificate will not expire
|
||||
ok","alerts":"none","crons":65}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"ts": "00:45", "status": "ok"}
|
||||
{"ts": "00:50", "status": "ok"}
|
||||
1
generated/gen-20260416-225004.svg
Normal file
1
generated/gen-20260416-225004.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 200"><rect width="400" height="200" rx="20" fill="#0f172a"/><text x="200" y="110" text-anchor="middle" font-family="sans-serif" font-size="48" font-weight="bold" fill="#4d84ff">WEVAL</text></svg>
|
||||
|
After Width: | Height: | Size: 252 B |
0
generated/video-20260416-225004.mp4
Normal file
0
generated/video-20260416-225004.mp4
Normal file
Reference in New Issue
Block a user