v1.6.0
release-tag / release-image (push) Successful in 6m50s

This commit is contained in:
2026-09-02 10:26:50 +02:00
parent 8c4ce2d6c2
commit 9a4370e4df
272 changed files with 31244 additions and 5980 deletions
+11
View File
@@ -0,0 +1,11 @@
# CPU Subagent
Runs the durable CPU execution node used primarily for `vector.relink` and graph convergence.
Edit `NEUROFORGE_MASTER_URL`, then:
```bash
./preflight.sh
docker compose --profile monitoring up -d
```
The optional node-exporter listens on port 9100 for Master Prometheus. Restrict it with host firewall rules to the Prometheus/Master host.
@@ -0,0 +1,46 @@
name: neuroforge-cpu-subagent
services:
cpu-subagent:
image: git.send.nrw/sendnrw/glpi-neuroforge-mega-neuroforge-worker:${IMAGE_TAG:?Set
immutable IMAGE_TAG}
command:
- -server
- ${NEUROFORGE_MASTER_URL:?Set reachable NeuroForge master URL}
- -id
- ${NEUROFORGE_CPU_WORKER_ID:?Set CPU worker ID}
restart: unless-stopped
environment:
NEUROFORGE_WORKER_TOKEN: ${NEUROFORGE_WORKER_TOKEN:?Set worker token shared
with master}
NEUROFORGE_WORKER_RESOURCE_CLASS: cpu
NEUROFORGE_WORKER_CAPABILITIES: ${NEUROFORGE_CPU_WORKER_CAPABILITIES:-cpu,vector.relink}
NEUROFORGE_WORKER_MAX_CONCURRENCY: ${NEUROFORGE_CPU_WORKER_CONCURRENCY:-2}
NEUROFORGE_WORKER_HEARTBEAT_INTERVAL: ${NEUROFORGE_WORKER_HEARTBEAT_INTERVAL:-15s}
read_only: true
tmpfs:
- /tmp:size=32m,mode=1777
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
node-exporter:
profiles:
- monitoring
image: ${NODE_EXPORTER_IMAGE:-prom/node-exporter:v1.12.1}
restart: unless-stopped
command:
- --path.procfs=/host/proc
- --path.sysfs=/host/sys
- --path.rootfs=/rootfs
- --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)
ports:
- ${EXPORTER_BIND_ADDRESS:-0.0.0.0}:${NODE_EXPORTER_HOST_PORT:-9100}:9100
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro,rslave
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env sh
set -eu
for k in NEUROFORGE_MASTER_URL NEUROFORGE_WORKER_TOKEN NEUROFORGE_CPU_WORKER_ID; do v=$(grep -E "^${k}=" .env | head -1 | cut -d= -f2- || true); [ -n "$v" ] || { echo "FEHLT: $k"; exit 1; }; echo "$v" | grep -q '192\.0\.2\.' && { echo "SETZEN: $k"; exit 1; } || true; done
command -v docker >/dev/null 2>&1 || { echo "FEHLT: docker"; exit 1; }
docker compose version >/dev/null
docker compose --profile monitoring config >/dev/null
echo "CPU subagent preflight: OK"