auto-sync-0945
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled

This commit is contained in:
opus
2026-04-21 09:45:03 +02:00
parent 6dcd80620f
commit 89190f10a4
8 changed files with 38 additions and 288 deletions

View File

@@ -664,6 +664,7 @@ setTimeout(refreshBladeStats, 1500);
// V116-DASHBOARDS-TAB: load 70 dashboards tiles
let __dashData = null;
async function loadDashboards(){
// V117-HTTP-BADGES: load with optional status check
try {
const r = await fetch('/api/dashboards-registry.php');
const d = await r.json();
@@ -671,8 +672,19 @@ async function loadDashboards(){
renderDashStats(d);
renderDashFilters(d);
renderDashGrid(d.dashboards, 'all');
// async load status badges in background
loadDashboardsStatus();
} catch(e){ console.error('[dashboards]',e); }
}
async function loadDashboardsStatus(){
try {
const r = await fetch('/api/dashboards-registry.php?check=1');
const d = await r.json();
__dashData = d;
renderDashGrid(d.dashboards, document.querySelector('.dash-filter.on')?.getAttribute('data-cat') || 'all');
} catch(e){ console.error('[dashboards-status]',e); }
}
function renderDashStats(d){
const box = document.getElementById('dash-stats');
if (!box) return;
@@ -697,12 +709,19 @@ function renderDashFilters(d){
});
}
function renderDashGrid(items, cat){
/* V117-HTTP-BADGES: status badge */
const box = document.getElementById('dash-grid');
if (!box) return;
const filtered = cat === 'all' ? items : items.filter(x => x.category === cat);
function statusBadge(s){
if(!s) return '';
if(s===200) return '<span style="color:#10b981;font-size:9px;margin-left:4px">&#9679; 200</span>';
if(s===302) return '<span style="color:#f59e0b;font-size:9px;margin-left:4px">&#9679; auth</span>';
return '<span style="color:#ef4444;font-size:9px;margin-left:4px">&#9679; '+s+'</span>';
}
box.innerHTML = filtered.map(e =>
'<a href="'+e.url+'" target="_blank" style="text-decoration:none;color:inherit;display:block;padding:10px;background:linear-gradient(135deg,'+e.color+'22,'+e.color+'11);border:1px solid '+e.color+'55;border-radius:6px">' +
'<div style="font-size:18px;margin-bottom:4px">'+e.icon+' <span style="font-size:9px;color:'+e.color+';text-transform:uppercase">'+e.category+'</span></div>' +
'<div style="font-size:18px;margin-bottom:4px">'+e.icon+' <span style="font-size:9px;color:'+e.color+';text-transform:uppercase">'+e.category+'</span>'+statusBadge(e.http_status)+'</div>' +
'<div style="font-size:11px;font-weight:bold;line-height:1.3;margin-bottom:4px">'+e.display+'</div>' +
'<div style="font-size:9px;color:var(--mu)">'+e.name+' - '+e.size_kb+'KB</div>' +
'</a>'

View File

@@ -1,15 +1,15 @@
{
"generated_at": "2026-04-21T09:40:02.127601",
"generated_at": "2026-04-21T09:45:02.061355",
"stats": {
"total": 47,
"pending": 32,
"pending": 30,
"kaouther_surfaced": 18,
"chrome_surfaced": 2,
"notif_only_done": 0,
"autofix_archived": 0,
"cerebras_archived": 0,
"older_3d_archived": 0,
"unknown": 6,
"unknown": 5,
"errors": 0
},
"actions": [

Binary file not shown.

After

Width:  |  Height:  |  Size: 814 KiB

View File

@@ -0,0 +1,10 @@
{
"v117": "badges",
"state": {
"tiles": 69,
"badges_200": 5,
"badges_auth": 5,
"badges_error": 5
},
"VERDICT": "PARTIAL"
}

View File

@@ -43,13 +43,15 @@ $byCategory = [];
$checkStatus = isset($_GET['check']) && $_GET['check'] === '1';
// V117-HTTP-STATUS: optional live HTTP status via local curl
function checkHttp($name) {
$ch = curl_init("http://127.0.0.1/$name");
/* V117-CURL-FIX: https with self-signed + follow 1 redirect to get real status */
$ch = curl_init("https://weval-consulting.com/$name");
curl_setopt_array($ch, [
CURLOPT_NOBODY => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 2,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_HTTPHEADER => ['Host: weval-consulting.com']
]);
curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

View File

@@ -1,281 +0,0 @@
{
"ts": "2026-04-21T07:40:01+00:00",
"server": "s204",
"s204": {
"load": 2.84,
"uptime": "2026-04-14 11:51:24",
"ram_total_mb": 31335,
"ram_used_mb": 12090,
"ram_free_mb": 19244,
"disk_total": "150G",
"disk_used": "116G",
"disk_free": "29G",
"disk_pct": "81%",
"fpm_workers": 141,
"docker_containers": 19,
"cpu_cores": 8
},
"s95": {
"load": 0.17,
"disk_pct": "81%",
"status": "UP",
"ram_total_mb": 15610,
"ram_free_mb": 11922
},
"pmta": [
{
"name": "SER6",
"ip": "110.239.84.121",
"status": "DOWN"
},
{
"name": "SER7",
"ip": "110.239.65.64",
"status": "DOWN"
},
{
"name": "SER8",
"ip": "182.160.55.107",
"status": "DOWN"
},
{
"name": "SER9",
"ip": "110.239.86.68",
"status": "DOWN"
}
],
"assets": {
"html_pages": 293,
"php_apis": 774,
"wiki_entries": 1928,
"vault_doctrines": 59,
"vault_sessions": 104,
"vault_decisions": 12
},
"tools": {
"total": 627,
"registry_version": "?"
},
"sovereign": {
"status": "UP",
"providers": [
"Cerebras-fast",
"Cerebras-think",
"Groq",
"Cloudflare-AI",
"Gemini",
"SambaNova",
"NVIDIA-NIM",
"Mistral",
"Groq-OSS",
"HF-Space",
"HF-Router",
"OpenRouter",
"GitHub-Models"
],
"active": 13,
"total": 13,
"primary": "Cerebras-fast",
"cost": "0€"
},
"ethica": {
"total_hcps": 161733,
"with_email": 110580,
"with_phone": 155149,
"gap_email": 51153,
"pct_email": 68.4,
"pct_phone": 95.9,
"by_country": [
{
"country": "DZ",
"hcps": 122337,
"with_email": 78484,
"with_tel": 119394,
"pct_email": 64.2,
"pct_tel": 97.6
},
{
"country": "MA",
"hcps": 19723,
"with_email": 15074,
"with_tel": 18737,
"pct_email": 76.4,
"pct_tel": 95
},
{
"country": "TN",
"hcps": 17794,
"with_email": 15143,
"with_tel": 17018,
"pct_email": 85.1,
"pct_tel": 95.6
},
{
"country": "INTL",
"hcps": 1879,
"with_email": 1879,
"with_tel": 0,
"pct_email": 100,
"pct_tel": 0
}
]
},
"docker": [
{
"name": "loki",
"status": "Up 4 days",
"ports": ""
},
{
"name": "listmonk",
"status": "Up 4 days",
"ports": ""
},
{
"name": "plausible-plausible-1",
"status": "Up 3 days",
"ports": ""
},
{
"name": "plausible-plausible-db-1",
"status": "Up 3 days",
"ports": ""
},
{
"name": "plausible-plausible-events-db-1",
"status": "Up 3 days",
"ports": ""
},
{
"name": "n8n-docker-n8n-1",
"status": "Up 5 days",
"ports": ""
},
{
"name": "mattermost-docker-mm-db-1",
"status": "Up 5 days",
"ports": ""
},
{
"name": "mattermost-docker-mattermost-1",
"status": "Up 5 days (healthy)",
"ports": ""
},
{
"name": "twenty",
"status": "Up 4 days",
"ports": ""
},
{
"name": "twenty-redis",
"status": "Up 5 days",
"ports": ""
},
{
"name": "langfuse",
"status": "Up 5 days",
"ports": ""
},
{
"name": "redis-weval",
"status": "Up 6 days",
"ports": ""
},
{
"name": "gitea",
"status": "Up 6 days",
"ports": ""
},
{
"name": "node-exporter",
"status": "Up 6 days",
"ports": ""
},
{
"name": "prometheus",
"status": "Up 6 days",
"ports": ""
},
{
"name": "searxng",
"status": "Up 6 days",
"ports": ""
},
{
"name": "uptime-kuma",
"status": "Up 32 hours (healthy)",
"ports": ""
},
{
"name": "vaultwarden",
"status": "Up 6 days (healthy)",
"ports": ""
},
{
"name": "qdrant",
"status": "Up 6 days",
"ports": ""
}
],
"crons": {
"active": 35
},
"git": {
"head": "4dd5f94e7 auto-sync-0940",
"dirty": 4,
"status": "DIRTY"
},
"nonreg": {
"total": 153,
"passed": 153,
"score": "100%"
},
"services": [
{
"name": "DeerFlow",
"port": 3002,
"status": "UP"
},
{
"name": "DeerFlow API",
"port": 8001,
"status": "UP"
},
{
"name": "Qdrant",
"port": 6333,
"status": "UP"
},
{
"name": "Ollama",
"port": 11434,
"status": "UP"
},
{
"name": "Redis",
"port": 6379,
"status": "UP"
},
{
"name": "Sovereign",
"port": 4000,
"status": "UP"
},
{
"name": "SearXNG",
"port": 8080,
"status": "UP"
}
],
"whisper": {
"binary": "COMPILED",
"model": "142MB"
},
"grand_total": 3700,
"health": {
"score": 5,
"max": 6,
"pct": 83
},
"elapsed_ms": 11307
}

View File

@@ -1,7 +1,7 @@
{
"ok": true,
"version": "V83-business-kpi",
"ts": "2026-04-21T07:40:16+00:00",
"ts": "2026-04-21T07:44:02+00:00",
"summary": {
"total_categories": 8,
"total_kpis": 64,