sync: 2026-03-15 23:30 — 23 files from Alexandria
Some checks failed
Lint & Format / detect (push) Failing after 39s
Monorepo Lint / lint-shell (push) Failing after 41s
Monorepo Lint / lint-js (push) Failing after 38s
Lint & Format / js-lint (push) Has been skipped
Lint & Format / py-lint (push) Has been skipped
Lint & Format / sh-lint (push) Has been skipped
Lint & Format / go-lint (push) Has been skipped
Some checks failed
Lint & Format / detect (push) Failing after 39s
Monorepo Lint / lint-shell (push) Failing after 41s
Monorepo Lint / lint-js (push) Failing after 38s
Lint & Format / js-lint (push) Has been skipped
Lint & Format / py-lint (push) Has been skipped
Lint & Format / sh-lint (push) Has been skipped
Lint & Format / go-lint (push) Has been skipped
RoadChain-SHA2048: af46e6a9314c50fd RoadChain-Identity: alexa@sovereign RoadChain-Full: af46e6a9314c50fddd4a6fa4df62988ead75ad66dc383f6fb38c1824a5d184b6d98a78f10dacb6cdbf2ac198396fe3ab2e07c187ab6e41b1dbc44f60de268c283ce6519708dba7899d2faa19e687ce9b6f590a9c89cd995ce5636bdb24a6b0406eb730e9ed1033171839e7d82b903fd60f3c2c2e3c9ef6fbbc3ef52f7ca87ede13bedc69fee77c465a1fe292e4580cf9e9661b2321ee66483dc6368ee913231aa830a83b267901a304701129a337a81f15e67c8e808f7d519ffd1303cf652ce9ef8c98a42df19a7ca69236ee0be44a0569cef18eaeaf14b16fb284e99ae357375380a3c76dd0588e7993aea0c8a0326a3b751bd44f0943251f86ee164fb1786c
This commit is contained in:
@@ -18,9 +18,11 @@
|
||||
*/5 * * * * /Users/alexa/blackroad-health-monitor.sh >> /Users/alexa/.blackroad/logs/health-cron.log 2>&1
|
||||
*/5 * * * * /Users/alexa/stats-blackroad/collect.sh >> /Users/alexa/.blackroad/logs/fleet-collector.log 2>&1
|
||||
*/5 * * * * /bin/bash ~/local/scripts/fleet-monitor-push.sh
|
||||
*/5 * * * * /usr/bin/flock -n /tmp/fleet-coord.lock /Users/alexa/blackroad-fleet-coordinator.sh >> /Users/alexa/.blackroad/logs/coordinator.log 2>&1
|
||||
0 * * * * /Users/alexa/blackroad-pi-mesh-sync.sh sync >> /Users/alexa/.blackroad/mesh-sync.log 2>&1
|
||||
0 */12 * * * rsync -az --exclude='.git' --exclude='node_modules' /Users/alexa/blackroad/ blackroad@159.65.43.12:~/blackroad-backup/ >> /tmp/do-backup.log 2>&1
|
||||
0 */6 * * * /Users/alexa/bin/rclone sync /Users/alexa/blackroad gdrive-blackroad:blackroad --exclude '.git/**' --exclude 'node_modules/**' --exclude '*.pyc' --log-file=/tmp/gdrive-mac-sync.log 2>&1
|
||||
0 */6 * * * /Users/alexa/blackroad-operator/scripts/collectors/push-ecosystem-stats.sh >> /Users/alexa/.blackroad/logs/ecosystem-stats.log 2>&1
|
||||
0 */6 * * * python3 /Users/alexa/blackroad-operator/tools/search/index-all.py --rebuild > /dev/null 2>&1
|
||||
0 3 * * * /Users/alexa/blackroad-backup-sync.sh >> /Users/alexa/.blackroad/logs/backup-cron.log 2>&1
|
||||
0 3 * * * /Users/alexa/blackroad-sovereign-mesh.sh sync >> /Users/alexa/.blackroad/sovereign-sync.log 2>&1
|
||||
@@ -31,4 +33,3 @@
|
||||
0 8 1 * * bash /Users/alexa/blackroad-operator/scripts/corporate-autopilot.sh >> /Users/alexa/blackroad-operator/docs/corporate/autopilot.log 2>&1
|
||||
5 6 * * * cd /Users/alexa/blackroad-os-kpis && bash reports/slack-notify.sh >> /Users/alexa/blackroad-os-kpis/data/cron.log 2>&1
|
||||
7,37 * * * * /Users/alexa/blackroad-git-sync.sh >> /Users/alexa/.blackroad/logs/git-sync.log 2>&1
|
||||
*/5 * * * * /usr/bin/flock -n /tmp/fleet-coord.lock /Users/alexa/blackroad-fleet-coordinator.sh >> /Users/alexa/.blackroad/logs/coordinator.log 2>&1
|
||||
|
||||
@@ -1,50 +1,50 @@
|
||||
[2026-03-15 22:40:02] [FLEET] [alice] octavia: UP temp=36C mem=6762MB disk=67%
|
||||
[2026-03-15 22:40:02] [HEAL] [alice] Healed 1 services
|
||||
[2026-03-15 22:40:03] [FLEET] [alice] cecilia: UP temp=57C mem=5488MB disk=19%
|
||||
[2026-03-15 22:40:04] [FLEET] [alice] gematria: UP temp=C mem=4192MB disk=67%
|
||||
[2026-03-15 22:40:05] [FLEET] [alice] lucidia: UP temp=62C mem=3515MB disk=33%
|
||||
[2026-03-15 22:40:07] [FLEET] [alice] aria: DOWN (no ping response)
|
||||
[2026-03-15 22:40:08] [FLEET] [alice] anastasia: UP temp=C mem=275MB disk=69%
|
||||
[2026-03-15 22:41:01] [BEAT] [alice] load=0.87 mem=3370/3794MB temp=35.5C disk=80%
|
||||
[2026-03-15 22:42:01] [BEAT] [alice] load=0.90 mem=3369/3794MB temp=34.6C disk=80%
|
||||
[2026-03-15 22:42:19] [BEAT] [alice] load=0.70 mem=3370/3794MB temp=33.6C disk=80%
|
||||
[2026-03-15 22:42:19] [BEAT] [alice] load=0.70 mem=3370/3794MB temp=34.1C disk=80%
|
||||
[2026-03-15 22:43:01] [BEAT] [alice] load=1.07 mem=3367/3794MB temp=36.5C disk=80%
|
||||
[2026-03-15 22:44:01] [BEAT] [alice] load=1.07 mem=3369/3794MB temp=35.0C disk=80%
|
||||
[2026-03-15 22:45:02] [HEAL] [alice] Service blackroad-agent is DOWN — restarting
|
||||
[2026-03-15 22:45:02] [BEAT] [alice] load=1.46 mem=3353/3794MB temp=37.5C disk=80%
|
||||
[2026-03-15 22:45:02] [HEAL] [alice] Service blackroad-agent restarted successfully
|
||||
[2026-03-15 22:45:03] [HEAL] [alice] Healed 1 services
|
||||
[2026-03-15 22:45:48] [DIAL] [alice] Switchboard unreachable
|
||||
[2026-03-15 22:46:01] [BEAT] [alice] load=4.01 mem=3367/3794MB temp=33.6C disk=80%
|
||||
[2026-03-15 22:46:28] [DIAL] [alice] Switchboard unreachable
|
||||
[2026-03-15 22:47:01] [BEAT] [alice] load=1.90 mem=3367/3794MB temp=34.6C disk=80%
|
||||
[2026-03-15 22:47:29] [BEAT] [alice] load=1.62 mem=3364/3794MB temp=36.5C disk=80%
|
||||
[2026-03-15 22:47:30] [BEAT] [alice] load=1.62 mem=3364/3794MB temp=36.0C disk=80%
|
||||
[2026-03-15 22:48:01] [BEAT] [alice] load=1.23 mem=3369/3794MB temp=33.1C disk=80%
|
||||
[2026-03-15 22:49:01] [BEAT] [alice] load=0.84 mem=3357/3794MB temp=35.0C disk=80%
|
||||
[2026-03-15 22:50:01] [FLEET] [alice] Starting cross-node health check
|
||||
[2026-03-15 22:50:01] [HEAL] [alice] Service blackroad-agent is DOWN — restarting
|
||||
[2026-03-15 22:50:01] [BEAT] [alice] load=0.87 mem=3336/3794MB temp=36.0C disk=80%
|
||||
[2026-03-15 22:50:01] [HEAL] [alice] Service blackroad-agent restarted successfully
|
||||
[2026-03-15 22:50:02] [FLEET] [alice] octavia: UP temp=37C mem=6738MB disk=67%
|
||||
[2026-03-15 22:50:02] [HEAL] [alice] Healed 1 services
|
||||
[2026-03-15 22:50:02] [FLEET] [alice] cecilia: UP temp=41C mem=5051MB disk=19%
|
||||
[2026-03-15 22:50:04] [FLEET] [alice] gematria: UP temp=C mem=4188MB disk=67%
|
||||
[2026-03-15 22:50:04] [FLEET] [alice] lucidia: UP temp=55C mem=3528MB disk=33%
|
||||
[2026-03-15 22:50:06] [FLEET] [alice] aria: DOWN (no ping response)
|
||||
[2026-03-15 22:50:07] [FLEET] [alice] anastasia: UP temp=C mem=275MB disk=69%
|
||||
[2026-03-15 22:51:01] [BEAT] [alice] load=2.30 mem=3355/3794MB temp=34.1C disk=80%
|
||||
[2026-03-15 22:52:01] [BEAT] [alice] load=1.24 mem=3360/3794MB temp=33.1C disk=80%
|
||||
[2026-03-15 22:52:39] [BEAT] [alice] load=0.96 mem=3355/3794MB temp=33.1C disk=80%
|
||||
[2026-03-15 22:52:39] [BEAT] [alice] load=0.96 mem=3355/3794MB temp=34.6C disk=80%
|
||||
[2026-03-15 22:53:01] [BEAT] [alice] load=0.92 mem=3355/3794MB temp=34.6C disk=80%
|
||||
[2026-03-15 22:54:02] [BEAT] [alice] load=1.25 mem=3358/3794MB temp=34.1C disk=80%
|
||||
[2026-03-15 22:55:01] [HEAL] [alice] Service blackroad-agent is DOWN — restarting
|
||||
[2026-03-15 22:55:01] [BEAT] [alice] load=0.78 mem=3352/3794MB temp=36.0C disk=80%
|
||||
[2026-03-15 22:55:01] [HEAL] [alice] Service blackroad-agent restarted successfully
|
||||
[2026-03-15 22:55:01] [HEAL] [alice] Healed 1 services
|
||||
[2026-03-15 22:56:02] [BEAT] [alice] load=0.90 mem=3356/3794MB temp=33.1C disk=80%
|
||||
[2026-03-15 22:57:01] [BEAT] [alice] load=1.10 mem=3354/3794MB temp=34.1C disk=80%
|
||||
[2026-03-15 22:57:49] [BEAT] [alice] load=0.74 mem=3354/3794MB temp=31.6C disk=80%
|
||||
[2026-03-15 22:57:49] [BEAT] [alice] load=0.74 mem=3354/3794MB temp=32.1C disk=80%
|
||||
[2026-03-15 23:10:02] [FLEET] [alice] cecilia: UP temp=39C mem=3789MB disk=19%
|
||||
[2026-03-15 23:10:02] [HEAL] [alice] Healed 1 services
|
||||
[2026-03-15 23:10:03] [FLEET] [alice] gematria: UP temp=C mem=4173MB disk=67%
|
||||
[2026-03-15 23:10:04] [FLEET] [alice] lucidia: UP temp=59C mem=3210MB disk=33%
|
||||
[2026-03-15 23:10:06] [FLEET] [alice] aria: DOWN (no ping response)
|
||||
[2026-03-15 23:10:07] [FLEET] [alice] anastasia: UP temp=C mem=276MB disk=69%
|
||||
[2026-03-15 23:11:01] [BEAT] [alice] load=0.80 mem=3356/3794MB temp=33.1C disk=80%
|
||||
[2026-03-15 23:12:01] [BEAT] [alice] load=1.12 mem=3354/3794MB temp=35.5C disk=80%
|
||||
[2026-03-15 23:13:11] [BEAT] [alice] load=0.56 mem=3357/3794MB temp=33.6C disk=80%
|
||||
[2026-03-15 23:13:16] [BEAT] [alice] load=1.79 mem=3354/3794MB temp=33.1C disk=80%
|
||||
[2026-03-15 23:13:16] [BEAT] [alice] load=1.79 mem=3353/3794MB temp=33.1C disk=80%
|
||||
[2026-03-15 23:14:01] [BEAT] [alice] load=1.43 mem=3356/3794MB temp=34.6C disk=80%
|
||||
[2026-03-15 23:15:01] [HEAL] [alice] Service blackroad-agent is DOWN — restarting
|
||||
[2026-03-15 23:15:01] [BEAT] [alice] load=5.98 mem=3333/3794MB temp=33.6C disk=80%
|
||||
[2026-03-15 23:15:01] [HEAL] [alice] Service blackroad-agent restarted successfully
|
||||
[2026-03-15 23:15:02] [HEAL] [alice] Healed 1 services
|
||||
[2026-03-15 23:15:47] [DIAL] [alice] Switchboard unreachable
|
||||
[2026-03-15 23:16:01] [BEAT] [alice] load=4.19 mem=3353/3794MB temp=33.6C disk=80%
|
||||
[2026-03-15 23:16:10] [DIAL] [alice] Switchboard unreachable
|
||||
[2026-03-15 23:17:01] [BEAT] [alice] load=1.89 mem=3353/3794MB temp=32.6C disk=80%
|
||||
[2026-03-15 23:18:01] [BEAT] [alice] load=1.23 mem=3258/3794MB temp=36.0C disk=80%
|
||||
[2026-03-15 23:18:26] [BEAT] [alice] load=1.13 mem=3301/3794MB temp=34.1C disk=81%
|
||||
[2026-03-15 23:18:26] [BEAT] [alice] load=1.13 mem=3300/3794MB temp=33.1C disk=81%
|
||||
[2026-03-15 23:19:01] [BEAT] [alice] load=1.15 mem=3345/3794MB temp=32.6C disk=81%
|
||||
[2026-03-15 23:20:01] [FLEET] [alice] Starting cross-node health check
|
||||
[2026-03-15 23:20:01] [HEAL] [alice] Service blackroad-agent is DOWN — restarting
|
||||
[2026-03-15 23:20:01] [BEAT] [alice] load=2.26 mem=3338/3794MB temp=33.6C disk=81%
|
||||
[2026-03-15 23:20:01] [HEAL] [alice] Service blackroad-agent restarted successfully
|
||||
[2026-03-15 23:20:02] [FLEET] [alice] octavia: UP temp=39C mem=6588MB disk=68%
|
||||
[2026-03-15 23:20:02] [FLEET] [alice] cecilia: UP temp=39C mem=3840MB disk=19%
|
||||
[2026-03-15 23:20:02] [HEAL] [alice] Healed 1 services
|
||||
[2026-03-15 23:20:04] [FLEET] [alice] gematria: UP temp=C mem=4170MB disk=67%
|
||||
[2026-03-15 23:20:04] [FLEET] [alice] lucidia: UP temp=55C mem=3380MB disk=33%
|
||||
[2026-03-15 23:20:06] [FLEET] [alice] aria: DOWN (no ping response)
|
||||
[2026-03-15 23:20:07] [FLEET] [alice] anastasia: UP temp=C mem=280MB disk=69%
|
||||
[2026-03-15 23:21:01] [BEAT] [alice] load=4.34 mem=3346/3794MB temp=33.6C disk=81%
|
||||
[2026-03-15 23:22:01] [BEAT] [alice] load=2.09 mem=3343/3794MB temp=32.1C disk=81%
|
||||
[2026-03-15 23:23:02] [BEAT] [alice] load=1.29 mem=3347/3794MB temp=33.1C disk=81%
|
||||
[2026-03-15 23:23:34] [BEAT] [alice] load=1.14 mem=3343/3794MB temp=33.6C disk=81%
|
||||
[2026-03-15 23:23:34] [BEAT] [alice] load=1.14 mem=3343/3794MB temp=34.1C disk=81%
|
||||
[2026-03-15 23:24:01] [BEAT] [alice] load=1.14 mem=3346/3794MB temp=32.6C disk=81%
|
||||
[2026-03-15 23:25:01] [HEAL] [alice] Service blackroad-agent is DOWN — restarting
|
||||
[2026-03-15 23:25:01] [BEAT] [alice] load=0.72 mem=3343/3794MB temp=35.5C disk=81%
|
||||
[2026-03-15 23:25:01] [HEAL] [alice] Service blackroad-agent restarted successfully
|
||||
[2026-03-15 23:25:02] [HEAL] [alice] Healed 1 services
|
||||
[2026-03-15 23:26:01] [BEAT] [alice] load=1.22 mem=3314/3794MB temp=33.1C disk=81%
|
||||
[2026-03-15 23:27:01] [BEAT] [alice] load=0.76 mem=3314/3794MB temp=35.5C disk=81%
|
||||
[2026-03-15 23:28:01] [BEAT] [alice] load=0.77 mem=3313/3794MB temp=32.6C disk=81%
|
||||
[2026-03-15 23:28:42] [BEAT] [alice] load=0.90 mem=3310/3794MB temp=34.6C disk=81%
|
||||
[2026-03-15 23:28:42] [BEAT] [alice] load=0.90 mem=3309/3794MB temp=34.1C disk=81%
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"node":"alice","ts":"2026-03-16T03:57:49Z","load":0.74,"mem_free_mb":3354,"mem_total_mb":3794,"temp_c":32.1,"disk_pct":80,"throttle":"0x0"}
|
||||
{"node":"alice","ts":"2026-03-16T04:28:42Z","load":0.90,"mem_free_mb":3309,"mem_total_mb":3794,"temp_c":34.1,"disk_pct":81,"throttle":"0x0"}
|
||||
|
||||
@@ -10,7 +10,7 @@ LISTEN 0 5 0.0.0.0:8013 0.0.0.0:* users:(("python3",pid
|
||||
LISTEN 0 5 0.0.0.0:8012 0.0.0.0:*
|
||||
LISTEN 0 5 0.0.0.0:8014 0.0.0.0:*
|
||||
LISTEN 0 2048 0.0.0.0:8001 0.0.0.0:* users:(("python3",pid=617,fd=6))
|
||||
LISTEN 0 5 0.0.0.0:7890 0.0.0.0:* users:(("python3",pid=31841,fd=5))
|
||||
LISTEN 0 5 0.0.0.0:7890 0.0.0.0:* users:(("python3",pid=9367,fd=5))
|
||||
LISTEN 0 200 0.0.0.0:443 0.0.0.0:*
|
||||
LISTEN 0 1024 0.0.0.0:6333 0.0.0.0:*
|
||||
LISTEN 0 128 0.0.0.0:6334 0.0.0.0:*
|
||||
@@ -24,6 +24,7 @@ LISTEN 0 511 0.0.0.0:9000 0.0.0.0:*
|
||||
LISTEN 0 244 127.0.0.1:5432 0.0.0.0:*
|
||||
LISTEN 0 128 [::1]:11434 [::]:*
|
||||
LISTEN 0 244 [::1]:5432 [::]:*
|
||||
LISTEN 0 511 *:8090 *:* users:(("node",pid=25140,fd=27))
|
||||
LISTEN 0 511 [::]:8080 [::]:*
|
||||
LISTEN 0 200 [::]:443 [::]:*
|
||||
LISTEN 0 511 [::1]:6379 [::]:*
|
||||
|
||||
@@ -3,7 +3,6 @@ blackroad-agents-proxy.service
|
||||
blackroad-agents.service
|
||||
blackroad-nats-agent.service
|
||||
blackroad-operator.service
|
||||
blackroad-salesforce-agent.service
|
||||
blackroad-status.service
|
||||
blackroad-task-queue-v2.service
|
||||
blackroad-task-worker.service
|
||||
@@ -26,7 +25,6 @@ prism-agent.service
|
||||
qdrant.service
|
||||
redis-server.service
|
||||
rng-tools-debian.service
|
||||
road-phone.service
|
||||
roadnet-failover.service
|
||||
rsyslog.service
|
||||
rtkit-daemon.service
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"hostname": "alice",
|
||||
"ts": "2026-03-16T03:57:50Z",
|
||||
"uptime_seconds": 4408,
|
||||
"ts": "2026-03-16T04:28:44Z",
|
||||
"uptime_seconds": 6262,
|
||||
"kernel": "6.1.21-v8+",
|
||||
"temp_c": 32.1,
|
||||
"temp_c": 34.1,
|
||||
"memory_mb": {
|
||||
"total": 3794,
|
||||
"used": 339,
|
||||
"free": 3355
|
||||
"used": 383,
|
||||
"free": 3311
|
||||
},
|
||||
"disk": "11G/15G (80%)",
|
||||
"disk": "11G/15G (81%)",
|
||||
"load": [
|
||||
0.74,
|
||||
1.03,
|
||||
1.13
|
||||
0.9,
|
||||
1.3,
|
||||
1.47
|
||||
],
|
||||
"ollama_models": [
|
||||
"qwen2.5:3b",
|
||||
@@ -25,5 +25,5 @@
|
||||
],
|
||||
"throttle": "0x0",
|
||||
"voltage": "0.9160V",
|
||||
"services_running": 43
|
||||
"services_running": 42
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ LISTEN 0 5 0.0.0.0:8787 0.0.0.0:* users:(("python3",pid
|
||||
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=3461172,fd=8),("nginx",pid=3461171,fd=8))
|
||||
LISTEN 0 4096 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=589,fd=4),("systemd",pid=1,fd=127))
|
||||
LISTEN 0 4096 *:8080 *:* users:(("headscale",pid=2341808,fd=12))
|
||||
LISTEN 0 511 *:3000 *:* users:(("node /srv/hello",pid=1771278,fd=19))
|
||||
LISTEN 0 511 *:3000 *:* users:(("node /srv/hello",pid=1777553,fd=19))
|
||||
LISTEN 0 511 *:3001 *:* users:(("node",pid=757,fd=21))
|
||||
LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=991,fd=8))
|
||||
LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=3461172,fd=9),("nginx",pid=3461171,fd=9))
|
||||
|
||||
@@ -4,6 +4,7 @@ chronyd.service
|
||||
cloudflared.service
|
||||
containerd.service
|
||||
crond.service
|
||||
dbus-:1.1-org.fedoraproject.SetroubleshootPrivileged@73409.service
|
||||
dbus-broker.service
|
||||
docker.service
|
||||
droplet-agent.service
|
||||
@@ -20,6 +21,7 @@ polkit.service
|
||||
rpcbind.service
|
||||
rsyslog.service
|
||||
serial-getty@ttyS0.service
|
||||
setroubleshootd.service
|
||||
sshd.service
|
||||
systemd-journald.service
|
||||
systemd-logind.service
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
{
|
||||
"hostname": "anastasia",
|
||||
"ts": "2026-03-16T03:57:50Z",
|
||||
"uptime_seconds": 6775363,
|
||||
"ts": "2026-03-16T04:28:44Z",
|
||||
"uptime_seconds": 6777216,
|
||||
"kernel": "5.14.0-651.el9.x86_64",
|
||||
"temp_c": 0,
|
||||
"memory_mb": {
|
||||
"total": 765,
|
||||
"used": 482,
|
||||
"free": 282
|
||||
"used": 562,
|
||||
"free": 202
|
||||
},
|
||||
"disk": "18G/25G (69%)",
|
||||
"load": [
|
||||
0.01,
|
||||
0.03,
|
||||
0.02
|
||||
0.16,
|
||||
0.09,
|
||||
0.03
|
||||
],
|
||||
"ollama_models": [],
|
||||
"throttle": "N/A",
|
||||
"voltage": "N/A",
|
||||
"services_running": 28
|
||||
"services_running": 30
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"node":"aria","status":"down","ts":"2026-03-16T03:57:49Z"}
|
||||
{"node":"aria","status":"down","ts":"2026-03-16T04:28:43Z"}
|
||||
|
||||
@@ -1,50 +1,50 @@
|
||||
[2026-03-15 22:35:01] [BEAT] [cecilia] load=0.48 mem=4824/8062MB temp=39.7C disk=19%
|
||||
[2026-03-15 22:35:05] [DIAL] [cecilia] Switchboard unreachable
|
||||
[2026-03-15 22:36:01] [BEAT] [cecilia] load=1.19 mem=5491/8062MB temp=48.5C disk=19%
|
||||
[2026-03-15 22:37:01] [BEAT] [cecilia] load=3.25 mem=5517/8062MB temp=51.8C disk=19%
|
||||
[2026-03-15 22:37:09] [BEAT] [cecilia] load=3.44 mem=5518/8062MB temp=51.2C disk=19%
|
||||
[2026-03-15 22:37:09] [BEAT] [cecilia] load=3.44 mem=5517/8062MB temp=51.2C disk=19%
|
||||
[2026-03-15 22:38:01] [BEAT] [cecilia] load=3.77 mem=5515/8062MB temp=53.5C disk=19%
|
||||
[2026-03-15 22:39:01] [BEAT] [cecilia] load=4.18 mem=5525/8062MB temp=55.1C disk=19%
|
||||
[2026-03-15 22:40:02] [FLEET] [cecilia] Starting cross-node health check
|
||||
[2026-03-15 22:40:02] [BEAT] [cecilia] load=4.46 mem=5488/8062MB temp=56.2C disk=19%
|
||||
[2026-03-15 22:40:03] [FLEET] [cecilia] alice: UP temp=36C mem=3367MB disk=80%
|
||||
[2026-03-15 22:40:03] [FLEET] [cecilia] octavia: UP temp=36C mem=6758MB disk=67%
|
||||
[2026-03-15 22:40:05] [FLEET] [cecilia] gematria: UP temp=C mem=4193MB disk=67%
|
||||
[2026-03-15 22:40:05] [FLEET] [cecilia] lucidia: UP temp=61C mem=3513MB disk=33%
|
||||
[2026-03-15 22:40:07] [FLEET] [cecilia] aria: DOWN (no ping response)
|
||||
[2026-03-15 22:40:08] [FLEET] [cecilia] anastasia: UP temp=C mem=275MB disk=69%
|
||||
[2026-03-15 22:41:01] [BEAT] [cecilia] load=3.20 mem=5568/8062MB temp=46.3C disk=19%
|
||||
[2026-03-15 22:42:01] [BEAT] [cecilia] load=1.35 mem=5568/8062MB temp=44.6C disk=19%
|
||||
[2026-03-15 22:42:19] [BEAT] [cecilia] load=1.26 mem=5562/8062MB temp=44.1C disk=19%
|
||||
[2026-03-15 22:42:19] [BEAT] [cecilia] load=1.26 mem=5560/8062MB temp=45.2C disk=19%
|
||||
[2026-03-15 22:43:01] [BEAT] [cecilia] load=0.72 mem=5536/8062MB temp=43.5C disk=19%
|
||||
[2026-03-15 22:44:01] [BEAT] [cecilia] load=0.60 mem=5275/8062MB temp=44.6C disk=19%
|
||||
[2026-03-15 22:45:01] [BEAT] [cecilia] load=0.53 mem=5284/8062MB temp=44.1C disk=19%
|
||||
[2026-03-15 22:45:47] [DIAL] [cecilia] Switchboard unreachable
|
||||
[2026-03-15 22:46:01] [BEAT] [cecilia] load=2.22 mem=5141/8062MB temp=45.8C disk=19%
|
||||
[2026-03-15 22:47:01] [BEAT] [cecilia] load=0.97 mem=5082/8062MB temp=43.5C disk=19%
|
||||
[2026-03-15 22:47:29] [BEAT] [cecilia] load=0.65 mem=5077/8062MB temp=42.5C disk=19%
|
||||
[2026-03-15 22:47:29] [BEAT] [cecilia] load=0.65 mem=5080/8062MB temp=43.0C disk=19%
|
||||
[2026-03-15 22:48:01] [BEAT] [cecilia] load=0.60 mem=5079/8062MB temp=43.0C disk=19%
|
||||
[2026-03-15 22:49:01] [BEAT] [cecilia] load=0.38 mem=5078/8062MB temp=41.4C disk=19%
|
||||
[2026-03-15 22:50:01] [FLEET] [cecilia] Starting cross-node health check
|
||||
[2026-03-15 22:50:01] [BEAT] [cecilia] load=0.19 mem=5045/8062MB temp=41.9C disk=19%
|
||||
[2026-03-15 22:50:01] [FLEET] [cecilia] alice: UP temp=36C mem=3349MB disk=80%
|
||||
[2026-03-15 22:50:02] [FLEET] [cecilia] octavia: UP temp=36C mem=6744MB disk=67%
|
||||
[2026-03-15 22:50:03] [FLEET] [cecilia] gematria: UP temp=C mem=4197MB disk=67%
|
||||
[2026-03-15 22:50:03] [FLEET] [cecilia] lucidia: UP temp=55C mem=3518MB disk=33%
|
||||
[2026-03-15 22:50:05] [DIAL] [cecilia] Switchboard unreachable
|
||||
[2026-03-15 22:50:05] [FLEET] [cecilia] aria: DOWN (no ping response)
|
||||
[2026-03-15 22:50:06] [FLEET] [cecilia] anastasia: UP temp=C mem=275MB disk=69%
|
||||
[2026-03-15 22:51:01] [BEAT] [cecilia] load=0.15 mem=5090/8062MB temp=40.8C disk=19%
|
||||
[2026-03-15 22:52:01] [BEAT] [cecilia] load=1.28 mem=5085/8062MB temp=39.7C disk=19%
|
||||
[2026-03-15 22:52:39] [BEAT] [cecilia] load=1.66 mem=5087/8062MB temp=40.2C disk=19%
|
||||
[2026-03-15 22:52:39] [BEAT] [cecilia] load=1.66 mem=5083/8062MB temp=39.7C disk=19%
|
||||
[2026-03-15 22:53:01] [BEAT] [cecilia] load=1.77 mem=5092/8062MB temp=39.7C disk=19%
|
||||
[2026-03-15 22:54:01] [BEAT] [cecilia] load=0.87 mem=5089/8062MB temp=38.6C disk=19%
|
||||
[2026-03-15 22:55:02] [BEAT] [cecilia] load=0.45 mem=5057/8062MB temp=39.7C disk=19%
|
||||
[2026-03-15 22:56:01] [BEAT] [cecilia] load=0.25 mem=5154/8062MB temp=39.1C disk=19%
|
||||
[2026-03-15 22:57:01] [BEAT] [cecilia] load=0.13 mem=5146/8062MB temp=39.7C disk=19%
|
||||
[2026-03-15 22:57:48] [BEAT] [cecilia] load=0.37 mem=5197/8062MB temp=39.1C disk=19%
|
||||
[2026-03-15 22:57:48] [BEAT] [cecilia] load=0.37 mem=5194/8062MB temp=38.6C disk=19%
|
||||
[2026-03-15 23:05:05] [DIAL] [cecilia] Switchboard unreachable
|
||||
[2026-03-15 23:06:01] [BEAT] [cecilia] load=0.70 mem=3895/8062MB temp=38.0C disk=19%
|
||||
[2026-03-15 23:07:01] [BEAT] [cecilia] load=0.43 mem=3908/8062MB temp=38.0C disk=19%
|
||||
[2026-03-15 23:08:01] [BEAT] [cecilia] load=0.25 mem=3908/8062MB temp=38.0C disk=19%
|
||||
[2026-03-15 23:08:06] [BEAT] [cecilia] load=0.31 mem=3907/8062MB temp=38.0C disk=19%
|
||||
[2026-03-15 23:08:06] [BEAT] [cecilia] load=0.31 mem=3905/8062MB temp=38.6C disk=19%
|
||||
[2026-03-15 23:09:01] [BEAT] [cecilia] load=0.74 mem=3907/8062MB temp=38.6C disk=19%
|
||||
[2026-03-15 23:10:01] [FLEET] [cecilia] Starting cross-node health check
|
||||
[2026-03-15 23:10:01] [BEAT] [cecilia] load=0.31 mem=3805/8062MB temp=39.1C disk=19%
|
||||
[2026-03-15 23:10:02] [FLEET] [cecilia] alice: UP temp=36C mem=3331MB disk=80%
|
||||
[2026-03-15 23:10:02] [FLEET] [cecilia] octavia: UP temp=38C mem=6548MB disk=67%
|
||||
[2026-03-15 23:10:04] [FLEET] [cecilia] gematria: UP temp=C mem=4174MB disk=67%
|
||||
[2026-03-15 23:10:04] [FLEET] [cecilia] lucidia: UP temp=60C mem=3212MB disk=33%
|
||||
[2026-03-15 23:10:06] [FLEET] [cecilia] aria: DOWN (no ping response)
|
||||
[2026-03-15 23:10:07] [FLEET] [cecilia] anastasia: UP temp=C mem=276MB disk=69%
|
||||
[2026-03-15 23:11:01] [BEAT] [cecilia] load=0.41 mem=3819/8062MB temp=37.5C disk=19%
|
||||
[2026-03-15 23:12:01] [BEAT] [cecilia] load=0.36 mem=3817/8062MB temp=37.5C disk=19%
|
||||
[2026-03-15 23:13:01] [BEAT] [cecilia] load=4.14 mem=3884/8062MB temp=47.4C disk=19%
|
||||
[2026-03-15 23:13:15] [BEAT] [cecilia] load=4.54 mem=3879/8062MB temp=48.0C disk=19%
|
||||
[2026-03-15 23:13:15] [BEAT] [cecilia] load=4.54 mem=3878/8062MB temp=48.0C disk=19%
|
||||
[2026-03-15 23:14:01] [BEAT] [cecilia] load=2.55 mem=3892/8062MB temp=40.8C disk=19%
|
||||
[2026-03-15 23:15:01] [BEAT] [cecilia] load=1.33 mem=3854/8062MB temp=40.8C disk=19%
|
||||
[2026-03-15 23:15:46] [DIAL] [cecilia] Switchboard unreachable
|
||||
[2026-03-15 23:16:01] [BEAT] [cecilia] load=0.71 mem=3882/8062MB temp=39.1C disk=19%
|
||||
[2026-03-15 23:17:01] [BEAT] [cecilia] load=0.45 mem=3905/8062MB temp=39.1C disk=19%
|
||||
[2026-03-15 23:18:01] [BEAT] [cecilia] load=0.31 mem=3902/8062MB temp=39.1C disk=19%
|
||||
[2026-03-15 23:18:24] [BEAT] [cecilia] load=0.33 mem=3898/8062MB temp=39.1C disk=19%
|
||||
[2026-03-15 23:18:24] [BEAT] [cecilia] load=0.33 mem=3897/8062MB temp=39.1C disk=19%
|
||||
[2026-03-15 23:19:01] [BEAT] [cecilia] load=0.31 mem=3900/8062MB temp=38.6C disk=19%
|
||||
[2026-03-15 23:20:01] [FLEET] [cecilia] Starting cross-node health check
|
||||
[2026-03-15 23:20:01] [BEAT] [cecilia] load=0.30 mem=3860/8062MB temp=39.1C disk=19%
|
||||
[2026-03-15 23:20:02] [FLEET] [cecilia] alice: UP temp=37C mem=3342MB disk=81%
|
||||
[2026-03-15 23:20:02] [FLEET] [cecilia] octavia: UP temp=38C mem=6563MB disk=68%
|
||||
[2026-03-15 23:20:04] [FLEET] [cecilia] gematria: UP temp=C mem=4173MB disk=67%
|
||||
[2026-03-15 23:20:04] [FLEET] [cecilia] lucidia: UP temp=55C mem=3386MB disk=33%
|
||||
[2026-03-15 23:20:06] [DIAL] [cecilia] Switchboard unreachable
|
||||
[2026-03-15 23:20:06] [FLEET] [cecilia] aria: DOWN (no ping response)
|
||||
[2026-03-15 23:20:07] [FLEET] [cecilia] anastasia: UP temp=C mem=280MB disk=69%
|
||||
[2026-03-15 23:21:01] [BEAT] [cecilia] load=0.21 mem=3899/8062MB temp=38.6C disk=19%
|
||||
[2026-03-15 23:22:01] [BEAT] [cecilia] load=1.08 mem=2941/8062MB temp=47.4C disk=19%
|
||||
[2026-03-15 23:23:02] [BEAT] [cecilia] load=3.31 mem=2860/8062MB temp=48.0C disk=19%
|
||||
[2026-03-15 23:23:33] [BEAT] [cecilia] load=2.83 mem=2856/8062MB temp=41.9C disk=19%
|
||||
[2026-03-15 23:23:33] [BEAT] [cecilia] load=2.83 mem=2854/8062MB temp=41.4C disk=19%
|
||||
[2026-03-15 23:24:01] [BEAT] [cecilia] load=1.80 mem=2853/8062MB temp=41.4C disk=19%
|
||||
[2026-03-15 23:25:01] [BEAT] [cecilia] load=0.91 mem=2860/8062MB temp=41.9C disk=19%
|
||||
[2026-03-15 23:26:01] [BEAT] [cecilia] load=0.47 mem=2896/8062MB temp=40.2C disk=19%
|
||||
[2026-03-15 23:27:01] [BEAT] [cecilia] load=0.27 mem=2894/8062MB temp=39.1C disk=19%
|
||||
[2026-03-15 23:28:01] [BEAT] [cecilia] load=0.35 mem=2894/8062MB temp=38.6C disk=19%
|
||||
[2026-03-15 23:28:42] [BEAT] [cecilia] load=0.43 mem=2891/8062MB temp=39.1C disk=19%
|
||||
[2026-03-15 23:28:42] [BEAT] [cecilia] load=0.43 mem=2889/8062MB temp=38.6C disk=19%
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"node":"cecilia","ts":"2026-03-16T03:57:48Z","load":0.37,"mem_free_mb":5194,"mem_total_mb":8062,"temp_c":38.6,"disk_pct":19,"throttle":"0x50000"}
|
||||
{"node":"cecilia","ts":"2026-03-16T04:28:42Z","load":0.43,"mem_free_mb":2889,"mem_total_mb":8062,"temp_c":38.6,"disk_pct":19,"throttle":"0x50000"}
|
||||
|
||||
@@ -1,33 +1,35 @@
|
||||
LISTEN 0 4096 127.0.0.1:9000 0.0.0.0:*
|
||||
LISTEN 0 128 0.0.0.0:34001 0.0.0.0:*
|
||||
LISTEN 0 4096 127.0.0.1:37175 0.0.0.0:*
|
||||
LISTEN 0 32 127.0.0.1:53 0.0.0.0:*
|
||||
LISTEN 0 2048 0.0.0.0:8788 0.0.0.0:* users:(("python3",pid=1429,fd=16))
|
||||
LISTEN 0 5 0.0.0.0:8787 0.0.0.0:* users:(("python3",pid=1562,fd=3))
|
||||
LISTEN 0 5 0.0.0.0:9100 0.0.0.0:*
|
||||
LISTEN 0 128 0.0.0.0:5002 0.0.0.0:* users:(("python3",pid=1566,fd=3))
|
||||
LISTEN 0 128 0.0.0.0:5001 0.0.0.0:* users:(("python3",pid=1572,fd=3))
|
||||
LISTEN 0 511 0.0.0.0:80 0.0.0.0:*
|
||||
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
|
||||
LISTEN 0 200 127.0.0.1:5432 0.0.0.0:*
|
||||
LISTEN 0 32 192.168.4.96:53 0.0.0.0:*
|
||||
LISTEN 0 5 0.0.0.0:7890 0.0.0.0:* users:(("python3",pid=97297,fd=5))
|
||||
LISTEN 0 5 0.0.0.0:4010 0.0.0.0:* users:(("python3",pid=1035,fd=3))
|
||||
LISTEN 0 511 0.0.0.0:8080 0.0.0.0:*
|
||||
LISTEN 0 511 0.0.0.0:3100 0.0.0.0:*
|
||||
LISTEN 0 5 0.0.0.0:11435 0.0.0.0:* users:(("python3",pid=1412,fd=3))
|
||||
LISTEN 0 4096 127.0.0.1:8088 0.0.0.0:*
|
||||
LISTEN 0 4096 127.0.0.1:20241 0.0.0.0:*
|
||||
LISTEN 0 5 0.0.0.0:3001 0.0.0.0:*
|
||||
LISTEN 0 5 0.0.0.0:3000 0.0.0.0:* users:(("python3",pid=1563,fd=3))
|
||||
LISTEN 0 16 *:5900 *:*
|
||||
LISTEN 0 4096 *:9001 *:*
|
||||
LISTEN 0 4096 *:9000 *:*
|
||||
LISTEN 0 511 [::]:80 [::]:*
|
||||
LISTEN 0 128 [::]:22 [::]:*
|
||||
LISTEN 0 4096 [::1]:9000 [::]:*
|
||||
LISTEN 0 4096 *:8086 *:*
|
||||
LISTEN 0 511 [::]:8080 [::]:*
|
||||
LISTEN 0 4096 *:11434 *:*
|
||||
LISTEN 0 32 [::1]:53 [::]:*
|
||||
LISTEN 0 200 [::1]:5432 [::]:*
|
||||
LISTEN 0 4096 127.0.0.1:9000 0.0.0.0:*
|
||||
LISTEN 0 128 0.0.0.0:34001 0.0.0.0:*
|
||||
LISTEN 0 4096 127.0.0.1:37175 0.0.0.0:*
|
||||
LISTEN 0 32 127.0.0.1:53 0.0.0.0:*
|
||||
LISTEN 0 2048 0.0.0.0:8788 0.0.0.0:* users:(("python3",pid=1429,fd=16))
|
||||
LISTEN 0 5 0.0.0.0:8787 0.0.0.0:* users:(("python3",pid=1562,fd=3))
|
||||
LISTEN 0 5 0.0.0.0:9100 0.0.0.0:*
|
||||
LISTEN 0 128 0.0.0.0:5002 0.0.0.0:* users:(("python3",pid=1566,fd=3))
|
||||
LISTEN 0 128 0.0.0.0:5001 0.0.0.0:* users:(("python3",pid=1572,fd=3))
|
||||
LISTEN 0 4096 127.0.0.1:46533 0.0.0.0:*
|
||||
LISTEN 0 511 0.0.0.0:80 0.0.0.0:*
|
||||
LISTEN 0 4096 127.0.0.1:46527 0.0.0.0:*
|
||||
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
|
||||
LISTEN 0 200 127.0.0.1:5432 0.0.0.0:*
|
||||
LISTEN 0 32 192.168.4.96:53 0.0.0.0:*
|
||||
LISTEN 0 5 0.0.0.0:7890 0.0.0.0:* users:(("python3",pid=121632,fd=5))
|
||||
LISTEN 0 5 0.0.0.0:4010 0.0.0.0:* users:(("python3",pid=1035,fd=3))
|
||||
LISTEN 0 511 0.0.0.0:8080 0.0.0.0:*
|
||||
LISTEN 0 511 0.0.0.0:3100 0.0.0.0:*
|
||||
LISTEN 0 5 0.0.0.0:11435 0.0.0.0:* users:(("python3",pid=1412,fd=3))
|
||||
LISTEN 0 4096 127.0.0.1:8088 0.0.0.0:*
|
||||
LISTEN 0 4096 127.0.0.1:20241 0.0.0.0:*
|
||||
LISTEN 0 5 0.0.0.0:3001 0.0.0.0:*
|
||||
LISTEN 0 5 0.0.0.0:3000 0.0.0.0:* users:(("python3",pid=1563,fd=3))
|
||||
LISTEN 0 16 *:5900 *:*
|
||||
LISTEN 0 4096 *:9001 *:*
|
||||
LISTEN 0 4096 *:9000 *:*
|
||||
LISTEN 0 511 [::]:80 [::]:*
|
||||
LISTEN 0 128 [::]:22 [::]:*
|
||||
LISTEN 0 4096 [::1]:9000 [::]:*
|
||||
LISTEN 0 4096 *:8086 *:*
|
||||
LISTEN 0 511 [::]:8080 [::]:*
|
||||
LISTEN 0 4096 *:11434 *:*
|
||||
LISTEN 0 32 [::1]:53 [::]:*
|
||||
LISTEN 0 200 [::1]:5432 [::]:*
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"hostname": "cecilia",
|
||||
"ts": "2026-03-16T03:57:49Z",
|
||||
"uptime_seconds": 4179,
|
||||
"ts": "2026-03-16T04:28:43Z",
|
||||
"uptime_seconds": 6033,
|
||||
"kernel": "6.12.62+rpt-rpi-2712",
|
||||
"temp_c": 38.0,
|
||||
"temp_c": 39.7,
|
||||
"memory_mb": {
|
||||
"total": 8062,
|
||||
"used": 2867,
|
||||
"free": 5195
|
||||
"used": 5184,
|
||||
"free": 2878
|
||||
},
|
||||
"disk": "81G/457G (19%)",
|
||||
"load": [
|
||||
0.37,
|
||||
0.6,
|
||||
0.93
|
||||
0.43,
|
||||
0.75,
|
||||
0.91
|
||||
],
|
||||
"ollama_models": [
|
||||
"deepseek-r1:1.5b",
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"hostname": "gematria",
|
||||
"ts": "2026-03-16T03:57:52Z",
|
||||
"uptime_seconds": 5432664,
|
||||
"ts": "2026-03-16T04:28:45Z",
|
||||
"uptime_seconds": 5434517,
|
||||
"kernel": "5.15.0-113-generic",
|
||||
"temp_c": 0,
|
||||
"memory_mb": {
|
||||
"total": 7937,
|
||||
"used": 3302,
|
||||
"free": 4189
|
||||
"used": 3318,
|
||||
"free": 4169
|
||||
},
|
||||
"disk": "52G/78G (67%)",
|
||||
"load": [
|
||||
3.26,
|
||||
3.13,
|
||||
3.1
|
||||
3.05,
|
||||
3.08,
|
||||
3.08
|
||||
],
|
||||
"ollama_models": [
|
||||
"qwen2.5:7b",
|
||||
|
||||
@@ -1,50 +1,50 @@
|
||||
[2026-03-15 22:34:08] [DIAL] [lucidia] Switchboard unreachable
|
||||
[2026-03-15 22:35:01] [BEAT] [lucidia] load=1.90 mem=3487/8063MB temp=56.2C disk=33%
|
||||
[2026-03-15 22:36:01] [BEAT] [lucidia] load=2.06 mem=3457/8063MB temp=56.8C disk=33%
|
||||
[2026-03-15 22:37:01] [BEAT] [lucidia] load=2.33 mem=3515/8063MB temp=61.7C disk=33%
|
||||
[2026-03-15 22:37:09] [BEAT] [lucidia] load=3.86 mem=3515/8063MB temp=61.7C disk=33%
|
||||
[2026-03-15 22:37:10] [BEAT] [lucidia] load=3.86 mem=3514/8063MB temp=62.8C disk=33%
|
||||
[2026-03-15 22:38:01] [BEAT] [lucidia] load=3.72 mem=3513/8063MB temp=54.5C disk=33%
|
||||
[2026-03-15 22:39:01] [BEAT] [lucidia] load=3.09 mem=3471/8063MB temp=53.5C disk=33%
|
||||
[2026-03-15 22:40:01] [FLEET] [lucidia] Starting cross-node health check
|
||||
[2026-03-15 22:40:01] [BEAT] [lucidia] load=2.87 mem=3474/8063MB temp=61.7C disk=33%
|
||||
[2026-03-15 22:40:02] [FLEET] [lucidia] alice: UP temp=35C mem=3362MB disk=80%
|
||||
[2026-03-15 22:40:04] [FLEET] [lucidia] octavia: DOWN (no ping response)
|
||||
[2026-03-15 22:40:04] [FLEET] [lucidia] cecilia: UP temp=56C mem=5480MB disk=19%
|
||||
[2026-03-15 22:40:06] [FLEET] [lucidia] gematria: UP temp=C mem=4188MB disk=67%
|
||||
[2026-03-15 22:40:08] [FLEET] [lucidia] aria: DOWN (no ping response)
|
||||
[2026-03-15 22:40:09] [FLEET] [lucidia] anastasia: UP temp=C mem=275MB disk=69%
|
||||
[2026-03-15 22:41:01] [BEAT] [lucidia] load=2.12 mem=3506/8063MB temp=54.0C disk=33%
|
||||
[2026-03-15 22:42:01] [BEAT] [lucidia] load=3.38 mem=3536/8063MB temp=65.0C disk=33%
|
||||
[2026-03-15 22:42:19] [BEAT] [lucidia] load=3.82 mem=3546/8063MB temp=59.5C disk=33%
|
||||
[2026-03-15 22:42:19] [BEAT] [lucidia] load=3.82 mem=3546/8063MB temp=59.0C disk=33%
|
||||
[2026-03-15 22:43:01] [BEAT] [lucidia] load=3.45 mem=3525/8063MB temp=55.6C disk=33%
|
||||
[2026-03-15 22:44:01] [BEAT] [lucidia] load=3.24 mem=3510/8063MB temp=55.6C disk=33%
|
||||
[2026-03-15 22:45:01] [BEAT] [lucidia] load=2.56 mem=3490/8063MB temp=57.3C disk=33%
|
||||
[2026-03-15 22:45:46] [DIAL] [lucidia] Switchboard unreachable
|
||||
[2026-03-15 22:46:01] [BEAT] [lucidia] load=1.80 mem=3506/8063MB temp=58.4C disk=33%
|
||||
[2026-03-15 22:47:01] [BEAT] [lucidia] load=1.77 mem=3473/8063MB temp=53.5C disk=33%
|
||||
[2026-03-15 22:47:29] [BEAT] [lucidia] load=1.70 mem=3482/8063MB temp=60.6C disk=33%
|
||||
[2026-03-15 22:47:30] [BEAT] [lucidia] load=1.70 mem=3484/8063MB temp=60.0C disk=33%
|
||||
[2026-03-15 22:48:01] [BEAT] [lucidia] load=2.67 mem=3480/8063MB temp=55.6C disk=33%
|
||||
[2026-03-15 22:49:01] [BEAT] [lucidia] load=2.76 mem=3479/8063MB temp=61.7C disk=33%
|
||||
[2026-03-15 22:49:09] [DIAL] [lucidia] Switchboard unreachable
|
||||
[2026-03-15 22:50:01] [FLEET] [lucidia] Starting cross-node health check
|
||||
[2026-03-15 22:50:01] [BEAT] [lucidia] load=2.31 mem=3527/8063MB temp=55.6C disk=33%
|
||||
[2026-03-15 22:50:02] [FLEET] [lucidia] alice: UP temp=36C mem=3349MB disk=80%
|
||||
[2026-03-15 22:50:04] [FLEET] [lucidia] octavia: DOWN (no ping response)
|
||||
[2026-03-15 22:50:04] [FLEET] [lucidia] cecilia: UP temp=42C mem=5049MB disk=19%
|
||||
[2026-03-15 22:50:06] [FLEET] [lucidia] gematria: UP temp=C mem=4188MB disk=67%
|
||||
[2026-03-15 22:50:08] [FLEET] [lucidia] aria: DOWN (no ping response)
|
||||
[2026-03-15 22:50:09] [FLEET] [lucidia] anastasia: UP temp=C mem=276MB disk=69%
|
||||
[2026-03-15 22:51:01] [BEAT] [lucidia] load=1.95 mem=3565/8063MB temp=55.1C disk=33%
|
||||
[2026-03-15 22:52:01] [BEAT] [lucidia] load=2.08 mem=3568/8063MB temp=60.0C disk=33%
|
||||
[2026-03-15 22:52:39] [BEAT] [lucidia] load=2.30 mem=3546/8063MB temp=52.4C disk=33%
|
||||
[2026-03-15 22:52:39] [BEAT] [lucidia] load=2.30 mem=3546/8063MB temp=51.8C disk=33%
|
||||
[2026-03-15 22:53:01] [BEAT] [lucidia] load=1.95 mem=3558/8063MB temp=51.2C disk=33%
|
||||
[2026-03-15 22:54:01] [BEAT] [lucidia] load=1.88 mem=3558/8063MB temp=48.5C disk=33%
|
||||
[2026-03-15 22:55:01] [BEAT] [lucidia] load=3.74 mem=3484/8063MB temp=58.4C disk=33%
|
||||
[2026-03-15 22:56:01] [BEAT] [lucidia] load=1.93 mem=3486/8063MB temp=48.5C disk=33%
|
||||
[2026-03-15 22:57:01] [BEAT] [lucidia] load=2.52 mem=3550/8063MB temp=48.0C disk=33%
|
||||
[2026-03-15 22:57:49] [BEAT] [lucidia] load=2.51 mem=3540/8063MB temp=53.5C disk=33%
|
||||
[2026-03-15 22:57:49] [BEAT] [lucidia] load=2.51 mem=3543/8063MB temp=53.5C disk=33%
|
||||
[2026-03-15 23:05:01] [BEAT] [lucidia] load=1.51 mem=3449/8063MB temp=56.2C disk=33%
|
||||
[2026-03-15 23:06:01] [BEAT] [lucidia] load=1.54 mem=3436/8063MB temp=49.6C disk=33%
|
||||
[2026-03-15 23:07:01] [BEAT] [lucidia] load=1.92 mem=3445/8063MB temp=51.2C disk=33%
|
||||
[2026-03-15 23:08:01] [BEAT] [lucidia] load=2.54 mem=3436/8063MB temp=58.4C disk=33%
|
||||
[2026-03-15 23:08:06] [BEAT] [lucidia] load=2.74 mem=3435/8063MB temp=57.3C disk=33%
|
||||
[2026-03-15 23:08:06] [BEAT] [lucidia] load=2.74 mem=3433/8063MB temp=58.4C disk=33%
|
||||
[2026-03-15 23:09:01] [BEAT] [lucidia] load=3.43 mem=3385/8063MB temp=55.1C disk=33%
|
||||
[2026-03-15 23:10:01] [FLEET] [lucidia] Starting cross-node health check
|
||||
[2026-03-15 23:10:01] [BEAT] [lucidia] load=2.86 mem=3278/8063MB temp=57.9C disk=33%
|
||||
[2026-03-15 23:10:02] [FLEET] [lucidia] alice: UP temp=37C mem=3337MB disk=80%
|
||||
[2026-03-15 23:10:04] [FLEET] [lucidia] octavia: DOWN (no ping response)
|
||||
[2026-03-15 23:10:05] [FLEET] [lucidia] cecilia: UP temp=41C mem=3759MB disk=19%
|
||||
[2026-03-15 23:10:07] [FLEET] [lucidia] gematria: UP temp=C mem=4181MB disk=67%
|
||||
[2026-03-15 23:10:09] [FLEET] [lucidia] aria: DOWN (no ping response)
|
||||
[2026-03-15 23:10:10] [FLEET] [lucidia] anastasia: UP temp=C mem=275MB disk=69%
|
||||
[2026-03-15 23:11:01] [BEAT] [lucidia] load=2.65 mem=3151/8063MB temp=52.4C disk=33%
|
||||
[2026-03-15 23:12:01] [BEAT] [lucidia] load=3.31 mem=3162/8063MB temp=54.0C disk=33%
|
||||
[2026-03-15 23:13:01] [BEAT] [lucidia] load=2.27 mem=3226/8063MB temp=59.5C disk=33%
|
||||
[2026-03-15 23:13:15] [BEAT] [lucidia] load=3.02 mem=3255/8063MB temp=60.0C disk=33%
|
||||
[2026-03-15 23:13:15] [BEAT] [lucidia] load=3.02 mem=3253/8063MB temp=60.6C disk=33%
|
||||
[2026-03-15 23:14:01] [BEAT] [lucidia] load=2.03 mem=3249/8063MB temp=51.8C disk=33%
|
||||
[2026-03-15 23:15:01] [BEAT] [lucidia] load=2.57 mem=3325/8063MB temp=54.5C disk=33%
|
||||
[2026-03-15 23:15:46] [DIAL] [lucidia] Switchboard unreachable
|
||||
[2026-03-15 23:16:01] [BEAT] [lucidia] load=2.75 mem=3405/8063MB temp=60.0C disk=33%
|
||||
[2026-03-15 23:17:01] [BEAT] [lucidia] load=1.35 mem=3409/8063MB temp=52.4C disk=33%
|
||||
[2026-03-15 23:18:01] [BEAT] [lucidia] load=4.19 mem=3367/8063MB temp=61.7C disk=33%
|
||||
[2026-03-15 23:18:24] [BEAT] [lucidia] load=3.75 mem=3352/8063MB temp=57.3C disk=33%
|
||||
[2026-03-15 23:18:24] [BEAT] [lucidia] load=3.75 mem=3349/8063MB temp=57.3C disk=33%
|
||||
[2026-03-15 23:19:02] [BEAT] [lucidia] load=3.38 mem=3417/8063MB temp=54.0C disk=33%
|
||||
[2026-03-15 23:19:09] [DIAL] [lucidia] Switchboard unreachable
|
||||
[2026-03-15 23:20:01] [FLEET] [lucidia] Starting cross-node health check
|
||||
[2026-03-15 23:20:01] [BEAT] [lucidia] load=4.53 mem=3404/8063MB temp=55.1C disk=33%
|
||||
[2026-03-15 23:20:01] [FLEET] [lucidia] alice: UP temp=35C mem=3338MB disk=81%
|
||||
[2026-03-15 23:20:03] [FLEET] [lucidia] octavia: DOWN (no ping response)
|
||||
[2026-03-15 23:20:04] [FLEET] [lucidia] cecilia: UP temp=39C mem=3843MB disk=19%
|
||||
[2026-03-15 23:20:05] [FLEET] [lucidia] gematria: UP temp=C mem=4176MB disk=67%
|
||||
[2026-03-15 23:20:07] [FLEET] [lucidia] aria: DOWN (no ping response)
|
||||
[2026-03-15 23:20:08] [FLEET] [lucidia] anastasia: UP temp=C mem=280MB disk=69%
|
||||
[2026-03-15 23:21:01] [BEAT] [lucidia] load=4.06 mem=3438/8063MB temp=61.1C disk=33%
|
||||
[2026-03-15 23:22:01] [BEAT] [lucidia] load=2.02 mem=3404/8063MB temp=52.9C disk=33%
|
||||
[2026-03-15 23:23:01] [BEAT] [lucidia] load=1.90 mem=3345/8063MB temp=53.5C disk=33%
|
||||
[2026-03-15 23:23:33] [BEAT] [lucidia] load=1.65 mem=3410/8063MB temp=52.9C disk=33%
|
||||
[2026-03-15 23:23:33] [BEAT] [lucidia] load=1.65 mem=3409/8063MB temp=52.4C disk=33%
|
||||
[2026-03-15 23:24:01] [BEAT] [lucidia] load=2.98 mem=3481/8063MB temp=61.7C disk=33%
|
||||
[2026-03-15 23:25:02] [BEAT] [lucidia] load=1.75 mem=3470/8063MB temp=53.5C disk=33%
|
||||
[2026-03-15 23:26:01] [BEAT] [lucidia] load=2.10 mem=3479/8063MB temp=53.5C disk=33%
|
||||
[2026-03-15 23:27:01] [BEAT] [lucidia] load=2.82 mem=3513/8063MB temp=62.8C disk=33%
|
||||
[2026-03-15 23:28:01] [BEAT] [lucidia] load=2.99 mem=3445/8063MB temp=56.2C disk=33%
|
||||
[2026-03-15 23:28:42] [BEAT] [lucidia] load=2.96 mem=3469/8063MB temp=61.1C disk=33%
|
||||
[2026-03-15 23:28:42] [BEAT] [lucidia] load=2.96 mem=3467/8063MB temp=61.1C disk=33%
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
blackroad-gitea Up About an hour
|
||||
road-pdns-admin Up About an hour (healthy)
|
||||
road-pdns Up About an hour
|
||||
road-dns-db Up About an hour
|
||||
roadauth Up About an hour
|
||||
roadapi Up About an hour
|
||||
blackroad-edge-agent Up About an hour
|
||||
blackroad.systems Up About an hour
|
||||
blackroadai.com Up About an hour
|
||||
blackroad-auth-gateway Up About an hour
|
||||
blackroad-metaverse Up About an hour
|
||||
blackroad-os Up About an hour
|
||||
blackroad-os-carpool Up About an hour
|
||||
pi-my-agent-1 Up About an hour (healthy)
|
||||
blackroad-gitea Up 2 hours
|
||||
road-pdns-admin Up 2 hours (healthy)
|
||||
road-pdns Up 2 hours
|
||||
road-dns-db Up 2 hours
|
||||
roadauth Up 2 hours
|
||||
roadapi Up 2 hours
|
||||
blackroad-edge-agent Up 2 hours
|
||||
blackroad.systems Up 2 hours
|
||||
blackroadai.com Up 2 hours
|
||||
blackroad-auth-gateway Up 2 hours
|
||||
blackroad-metaverse Up 2 hours
|
||||
blackroad-os Up 2 hours
|
||||
blackroad-os-carpool Up 2 hours
|
||||
pi-my-agent-1 Up 2 hours (healthy)
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"node":"lucidia","ts":"2026-03-16T03:57:49Z","load":2.51,"mem_free_mb":3543,"mem_total_mb":8063,"temp_c":53.5,"disk_pct":33,"throttle":"0x0"}
|
||||
{"node":"lucidia","ts":"2026-03-16T04:28:42Z","load":2.96,"mem_free_mb":3467,"mem_total_mb":8063,"temp_c":61.1,"disk_pct":33,"throttle":"0x0"}
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"hostname": "octavia",
|
||||
"ts": "2026-03-16T03:57:49Z",
|
||||
"uptime_seconds": 4227,
|
||||
"ts": "2026-03-16T04:28:43Z",
|
||||
"uptime_seconds": 6081,
|
||||
"kernel": "6.12.62+rpt-rpi-2712",
|
||||
"temp_c": 51.8,
|
||||
"temp_c": 61.1,
|
||||
"memory_mb": {
|
||||
"total": 8063,
|
||||
"used": 4516,
|
||||
"free": 3546
|
||||
"used": 4617,
|
||||
"free": 3445
|
||||
},
|
||||
"disk": "73G/235G (33%)",
|
||||
"load": [
|
||||
2.51,
|
||||
2.42,
|
||||
2.55
|
||||
2.96,
|
||||
2.77,
|
||||
2.72
|
||||
],
|
||||
"ollama_models": [
|
||||
"qwen2.5:3b",
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"node":"octavia","status":"down","ts":"2026-03-16T03:57:49Z"}
|
||||
{"node":"octavia","status":"down","ts":"2026-03-16T04:28:43Z"}
|
||||
|
||||
@@ -18,9 +18,22 @@ mkdir -p "$LOG_DIR" "$STATE_DIR"
|
||||
|
||||
STATS_URL="https://stats-blackroad.amundsonalexa.workers.dev"
|
||||
STATS_KEY="blackroad-stats-push-2026"
|
||||
SLACK_URL="https://blackroad-slack.amundsonalexa.workers.dev"
|
||||
|
||||
log() { printf "[%s] %s\n" "$(date '+%Y-%m-%d %H:%M:%S')" "$1"; }
|
||||
|
||||
slack_alert() {
|
||||
curl -s --max-time 5 -X POST "$SLACK_URL/alert" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"text\":\"$1\"}" >/dev/null 2>&1 || true
|
||||
}
|
||||
|
||||
slack_post() {
|
||||
curl -s --max-time 5 -X POST "$SLACK_URL/post" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"text\":\"$1\"}" >/dev/null 2>&1 || true
|
||||
}
|
||||
|
||||
# ── 1. PROBE ALL NODES ──
|
||||
probe_node() {
|
||||
local name=$1
|
||||
@@ -35,7 +48,7 @@ probe_node() {
|
||||
echo "{\"name\":\"$name\",\"ip\":\"$ip\",\"status\":\"down\",\"ts\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"}" > "$state_file"
|
||||
if [[ "$prev_status" != "down" ]]; then
|
||||
log "ALERT: $name ($ip) went DOWN"
|
||||
# Could push to Slack here
|
||||
slack_alert "🔴 *$name* ($ip) went DOWN"
|
||||
fi
|
||||
return
|
||||
fi
|
||||
@@ -69,12 +82,13 @@ EOF
|
||||
# State change alerts
|
||||
if [[ "$prev_status" == "down" || "$prev_status" == "ssh_fail" ]]; then
|
||||
log "RECOVERED: $name ($ip) is back UP"
|
||||
slack_post "🟢 *$name* ($ip) recovered — back online"
|
||||
fi
|
||||
|
||||
# Threshold alerts
|
||||
if [[ "$disk" -gt 90 ]]; then log "ALERT: $name disk at ${disk}%"; fi
|
||||
if [[ "$temp" -gt 75 ]]; then log "ALERT: $name temp at ${temp}C"; fi
|
||||
if [[ "$mem_free" -lt 200 ]]; then log "ALERT: $name low memory (${mem_free}MB free)"; fi
|
||||
if [[ "$disk" -gt 90 ]]; then log "ALERT: $name disk at ${disk}%"; slack_alert "💾 *$name* disk critical: ${disk}%"; fi
|
||||
if [[ "$temp" -gt 75 ]]; then log "ALERT: $name temp at ${temp}C"; slack_alert "🌡️ *$name* overheating: ${temp}°C"; fi
|
||||
if [[ "$mem_free" -lt 200 ]]; then log "ALERT: $name low memory (${mem_free}MB free)"; slack_alert "🧠 *$name* low memory: ${mem_free}MB free"; fi
|
||||
}
|
||||
|
||||
# ── 2. SERVICE HEALTH CHECKS ──
|
||||
|
||||
208
scripts/blackroad-fork-enhancer.sh
Executable file
208
scripts/blackroad-fork-enhancer.sh
Executable file
@@ -0,0 +1,208 @@
|
||||
#!/bin/bash
|
||||
# BlackRoad Fork Enhancer v2
|
||||
# Adds BlackRoad integration layer to forked repos WITHOUT breaking upstream
|
||||
# Uses GitHub API (no cloning needed)
|
||||
#
|
||||
# Usage: ./blackroad-fork-enhancer.sh [org/user] [--dry-run]
|
||||
|
||||
set -e
|
||||
|
||||
PINK='\033[38;5;205m'
|
||||
GREEN='\033[38;5;82m'
|
||||
YELLOW='\033[1;33m'
|
||||
CYAN='\033[38;5;69m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
|
||||
ORG="${1:-blackboxprogramming}"
|
||||
DRY_RUN="${2:---execute}"
|
||||
ENHANCED=0
|
||||
SKIPPED=0
|
||||
FAILED=0
|
||||
|
||||
echo -e "${PINK}╔════════════════════════════════════════════════════════════╗${NC}"
|
||||
echo -e "${PINK}║${NC} ${CYAN}BlackRoad Fork Enhancer v2${NC} ${PINK}║${NC}"
|
||||
echo -e "${PINK}╚════════════════════════════════════════════════════════════╝${NC}"
|
||||
echo -e " ${CYAN}Target:${NC} $ORG"
|
||||
echo -e " ${CYAN}Mode:${NC} $DRY_RUN"
|
||||
echo ""
|
||||
|
||||
# Get all forked repos
|
||||
FORKS=$(gh repo list "$ORG" --fork --limit 100 --json name -q '.[].name' 2>/dev/null)
|
||||
TOTAL=$(echo "$FORKS" | wc -l | tr -d ' ')
|
||||
echo -e "${GREEN}Found $TOTAL forks${NC}"
|
||||
echo ""
|
||||
|
||||
# Content templates
|
||||
INTEGRATION_README='# BlackRoad Integration
|
||||
|
||||
This is a fork maintained by [BlackRoad OS, Inc.](https://blackroad.io) for integration with the BlackRoad ecosystem.
|
||||
|
||||
## What We Added
|
||||
|
||||
- `.blackroad/` directory with integration configs
|
||||
- BlackRoad CI/CD workflow
|
||||
- Integration documentation
|
||||
|
||||
## Upstream
|
||||
|
||||
This repo tracks the upstream project. BlackRoad additions live exclusively in `.blackroad/` and `.github/workflows/blackroad-ci.yml` to avoid merge conflicts.
|
||||
|
||||
## Links
|
||||
|
||||
- [BlackRoad OS](https://blackroad.io)
|
||||
- [Documentation](https://docs.blackroad.io)
|
||||
- [GitHub](https://github.com/blackboxprogramming)
|
||||
|
||||
---
|
||||
© 2025-2026 BlackRoad OS, Inc. All rights reserved.
|
||||
BlackRoad OS — Pave Tomorrow.
|
||||
'
|
||||
|
||||
INTEGRATION_CONFIG='{
|
||||
"name": "REPO_NAME",
|
||||
"type": "fork",
|
||||
"org": "ORG_NAME",
|
||||
"integration": {
|
||||
"status": "active",
|
||||
"added": "DATE_NOW",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"upstream": {
|
||||
"synced": true,
|
||||
"branch": "main"
|
||||
},
|
||||
"blackroad": {
|
||||
"category": "CATEGORY",
|
||||
"tags": [],
|
||||
"fleet_node": null,
|
||||
"docs": "https://docs.blackroad.io"
|
||||
}
|
||||
}'
|
||||
|
||||
CI_WORKFLOW='name: BlackRoad CI
|
||||
on:
|
||||
push:
|
||||
branches: [main, master]
|
||||
paths:
|
||||
- ".blackroad/**"
|
||||
pull_request:
|
||||
branches: [main, master]
|
||||
paths:
|
||||
- ".blackroad/**"
|
||||
|
||||
jobs:
|
||||
validate:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Validate integration config
|
||||
run: |
|
||||
if [ -f .blackroad/config.json ]; then
|
||||
python3 -c "import json; json.load(open('"'"'.blackroad/config.json'"'"'))" && echo "Config valid" || echo "Config invalid"
|
||||
fi
|
||||
- name: Check integration README
|
||||
run: test -f .blackroad/README.md && echo "README present" || echo "README missing"
|
||||
'
|
||||
|
||||
# Categorize repo
|
||||
categorize() {
|
||||
local name="$1"
|
||||
case "$name" in
|
||||
pixel-*|isometric-*|tiny-world|SanAndreasUnity|GameBoyWorlds|OpenViking|OpenSandbox|NotBlox|bit-office|superpowers|openclaw)
|
||||
echo "game" ;;
|
||||
*agent*|*claude*|*squad*|BitNet|sgpt|rowboat|hindsight|skills|lucidia-*)
|
||||
echo "ai" ;;
|
||||
pi-*|awesome-sysadmin|awesome-selfhosted*|awesome-raspberry*|hailo*|nginx*|ish|git|git.*)
|
||||
echo "infrastructure" ;;
|
||||
algorithm*|the-book-*|PDF4QT|A2UI|system-prompts*|htmldocs|clerk-docs|alfred-*|alexa-*)
|
||||
echo "reference" ;;
|
||||
*)
|
||||
echo "general" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Process each fork
|
||||
COUNT=0
|
||||
for REPO in $FORKS; do
|
||||
COUNT=$((COUNT + 1))
|
||||
echo -e "${CYAN}[$COUNT/$TOTAL]${NC} $REPO"
|
||||
|
||||
# Check if already enhanced
|
||||
EXISTS=$(gh api "repos/$ORG/$REPO/contents/.blackroad/config.json" 2>/dev/null | python3 -c "import json,sys; d=json.load(sys.stdin); print('yes' if 'name' in d else 'no')" 2>/dev/null || echo "no")
|
||||
|
||||
if [ "$EXISTS" = "yes" ]; then
|
||||
echo -e " ${YELLOW}Already enhanced — skipping${NC}"
|
||||
SKIPPED=$((SKIPPED + 1))
|
||||
continue
|
||||
fi
|
||||
|
||||
# Get default branch
|
||||
DEFAULT_BRANCH=$(gh repo view "$ORG/$REPO" --json defaultBranchRef -q '.defaultBranchRef.name' 2>/dev/null || echo "main")
|
||||
CATEGORY=$(categorize "$REPO")
|
||||
NOW=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||
|
||||
# Build config
|
||||
CONFIG=$(echo "$INTEGRATION_CONFIG" | sed "s/REPO_NAME/$REPO/g; s/ORG_NAME/$ORG/g; s/DATE_NOW/$NOW/g; s/CATEGORY/$CATEGORY/g")
|
||||
|
||||
if [ "$DRY_RUN" = "--dry-run" ]; then
|
||||
echo -e " ${YELLOW}[DRY RUN] Would add .blackroad/ to $ORG/$REPO ($CATEGORY)${NC}"
|
||||
continue
|
||||
fi
|
||||
|
||||
# Add files via GitHub API (no clone needed)
|
||||
# 1. .blackroad/README.md
|
||||
README_B64=$(echo "$INTEGRATION_README" | base64 | tr -d '\n')
|
||||
gh api -X PUT "repos/$ORG/$REPO/contents/.blackroad/README.md" \
|
||||
-f message="chore: add BlackRoad integration layer" \
|
||||
-f content="$README_B64" \
|
||||
-f branch="$DEFAULT_BRANCH" \
|
||||
--silent 2>/dev/null
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo -e " ${RED}Failed to add README${NC}"
|
||||
FAILED=$((FAILED + 1))
|
||||
continue
|
||||
fi
|
||||
|
||||
# 2. .blackroad/config.json
|
||||
CONFIG_B64=$(echo "$CONFIG" | base64 | tr -d '\n')
|
||||
gh api -X PUT "repos/$ORG/$REPO/contents/.blackroad/config.json" \
|
||||
-f message="chore: add BlackRoad integration config" \
|
||||
-f content="$CONFIG_B64" \
|
||||
-f branch="$DEFAULT_BRANCH" \
|
||||
--silent 2>/dev/null
|
||||
|
||||
# 3. .github/workflows/blackroad-ci.yml
|
||||
CI_B64=$(echo "$CI_WORKFLOW" | base64 | tr -d '\n')
|
||||
gh api -X PUT "repos/$ORG/$REPO/contents/.github/workflows/blackroad-ci.yml" \
|
||||
-f message="ci: add BlackRoad CI workflow" \
|
||||
-f content="$CI_B64" \
|
||||
-f branch="$DEFAULT_BRANCH" \
|
||||
--silent 2>/dev/null
|
||||
|
||||
# 4. Update description to include BlackRoad
|
||||
CURRENT_DESC=$(gh repo view "$ORG/$REPO" --json description -q '.description' 2>/dev/null)
|
||||
if [[ ! "$CURRENT_DESC" == *"BlackRoad"* ]] && [[ ! "$CURRENT_DESC" == *"fork"* ]]; then
|
||||
NEW_DESC="${CURRENT_DESC} (BlackRoad integration)"
|
||||
gh repo edit "$ORG/$REPO" --description "$NEW_DESC" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# 5. Add topics
|
||||
gh repo edit "$ORG/$REPO" --add-topic "blackroad" --add-topic "blackroad-fork" --add-topic "$CATEGORY" 2>/dev/null || true
|
||||
|
||||
echo -e " ${GREEN}Enhanced ($CATEGORY)${NC}"
|
||||
ENHANCED=$((ENHANCED + 1))
|
||||
|
||||
# Rate limit: 1 per 2 seconds to avoid GitHub abuse
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo -e "${PINK}╔════════════════════════════════════════════════════════════╗${NC}"
|
||||
echo -e "${PINK}║${NC} ${GREEN}Done!${NC} ${PINK}║${NC}"
|
||||
echo -e "${PINK}╚════════════════════════════════════════════════════════════╝${NC}"
|
||||
echo -e " ${GREEN}Enhanced:${NC} $ENHANCED"
|
||||
echo -e " ${YELLOW}Skipped:${NC} $SKIPPED"
|
||||
echo -e " ${RED}Failed:${NC} $FAILED"
|
||||
echo -e " ${CYAN}Total:${NC} $TOTAL"
|
||||
@@ -126,14 +126,30 @@ export default {
|
||||
env.STATS.get('cache:analytics:24h').then(c => c || env.STATS.get('stats:analytics')).then(c => c || fetchAnalytics(env)),
|
||||
]);
|
||||
|
||||
const ecosystem = await env.STATS.get('stats:ecosystem');
|
||||
|
||||
return json({
|
||||
fleet: fleet ? JSON.parse(fleet) : null,
|
||||
infra: infra ? JSON.parse(infra) : null,
|
||||
github: github ? (typeof github === 'string' ? JSON.parse(github) : github) : null,
|
||||
analytics: analytics ? (typeof analytics === 'string' ? JSON.parse(analytics) : analytics) : null,
|
||||
ecosystem: ecosystem ? JSON.parse(ecosystem) : null,
|
||||
});
|
||||
}
|
||||
|
||||
// ── Ecosystem stats ──
|
||||
if (path === '/ecosystem') {
|
||||
const eco = await env.STATS.get('stats:ecosystem');
|
||||
return json(eco ? JSON.parse(eco) : { data: {} });
|
||||
}
|
||||
|
||||
// ── Any pushed category by name ──
|
||||
if (path.startsWith('/stats/')) {
|
||||
const category = path.slice(7);
|
||||
const data = await env.STATS.get(`stats:${category}`);
|
||||
return json(data ? JSON.parse(data) : { error: 'not found' });
|
||||
}
|
||||
|
||||
// ── Health ──
|
||||
if (path === '/health') {
|
||||
const fleet = await env.STATS.get('stats:fleet');
|
||||
|
||||
Reference in New Issue
Block a user