update-1.6.2
ci / test (services/knowledge) (push) Successful in 47s
ci / test (services/agent) (push) Successful in 55s
ci / test (platform/neuroforge) (push) Successful in 56s
ci / docker-build (push) Failing after 1m10s
ci / test (services/control) (push) Successful in 1m26s
release-tag / release-image (push) Successful in 6m43s
ci / test (services/knowledge) (push) Successful in 47s
ci / test (services/agent) (push) Successful in 55s
ci / test (platform/neuroforge) (push) Successful in 56s
ci / docker-build (push) Failing after 1m10s
ci / test (services/control) (push) Successful in 1m26s
release-tag / release-image (push) Successful in 6m43s
This commit is contained in:
+11
-24
@@ -1,29 +1,16 @@
|
||||
# Deployment Kits — GLPI NeuroForge Mega v1.6.2
|
||||
# Distributed Deployment Kits (v1.6.2)
|
||||
|
||||
This repository intentionally supports both the complete NeuroForge platform and stripped standalone operation.
|
||||
This directory contains three independent deployment kits:
|
||||
|
||||
## Complete / distributed platform
|
||||
- `master/` - authoritative NeuroForge Master plus Agent, Knowledge, Control, optional SearXNG and optional Prometheus/Grafana.
|
||||
- `cpu-subagent/` - CPU worker for `vector.relink` / graph convergence.
|
||||
- `gpu-subagent/` - GPU worker plus local Ollama for `model.chat` and `model.embed`.
|
||||
|
||||
- `master/` — authoritative NeuroForge Master plus GLPI Agent, Knowledge, Control, optional SearXNG, Prometheus and Grafana. Remote CPU/GPU workers connect to this node.
|
||||
- `cpu-subagent/` — disposable CPU worker with `cpu,vector.relink` capabilities.
|
||||
- `gpu-subagent/` — disposable GPU worker plus Ollama with `gpu,model.chat,model.embed` capabilities.
|
||||
The generated `NEUROFORGE_WORKER_TOKEN` is identical in all three `.env` files. Replace the RFC 5737 example IP addresses (`192.0.2.x`) with real reachable addresses before starting.
|
||||
|
||||
The Master is the only authoritative owner of NeuroForge state. CPU/GPU workers use leases, heartbeats and fenced job completion.
|
||||
Recommended order:
|
||||
1. GPU subagent: `docker compose --profile monitoring up -d`
|
||||
2. CPU subagent: `docker compose --profile monitoring up -d`
|
||||
3. Master: fill GLPI credentials, then `docker compose --profile research --profile monitoring up -d`
|
||||
|
||||
## Standalone core operation
|
||||
|
||||
- `agent/` — GLPI Agent with local Knowledge vector backend; no NeuroForge, Control or Research dependency.
|
||||
- `knowledge/` — standalone Knowledge editor/service.
|
||||
- `ollama/` — standalone Ollama runtime.
|
||||
- `combined/` — Agent + Knowledge + Ollama on one host, still without NeuroForge.
|
||||
|
||||
The standalone Agent and Knowledge kits share `runtime/knowledge` by default. The Agent mounts it read-only; Knowledge mounts it read-write.
|
||||
|
||||
## Release rules
|
||||
|
||||
- Project images are pinned by `IMAGE_TAG=1.6.2`; production compose files do not require `latest`.
|
||||
- Replace every `CHANGE_ME_...` placeholder before startup.
|
||||
- Never use `docker compose down -v` during an in-place upgrade unless loss of persistent state is intended.
|
||||
- For a v1.6.0/v1.6.1 NeuroForge data volume, keep the volume: v1.6.2 includes the v1.6.1 recovery/OOM hotfixes and startup compaction path.
|
||||
|
||||
See each role's README/preflight and the root `README.md` for startup order.
|
||||
Only the Master holds authoritative NeuroForge state. Workers are disposable execution nodes.
|
||||
|
||||
@@ -24,6 +24,7 @@ services:
|
||||
DATA_DIR: /app/data
|
||||
KNOWLEDGE_DIR: /app/knowledge
|
||||
KNOWLEDGE_VECTOR_BACKEND: local
|
||||
OLLAMA_API_KEY: ${OLLAMA_API_KEY:-}
|
||||
OUTCOME_LEARNING_ENABLED: "false"
|
||||
OUTCOME_RETRIEVAL_ENABLED: "false"
|
||||
BRAIN_ACTIVITY_URL: ""
|
||||
|
||||
@@ -33,6 +33,7 @@ services:
|
||||
DATA_DIR: /app/data
|
||||
KNOWLEDGE_DIR: /app/knowledge
|
||||
OLLAMA_URL: http://ollama:11434
|
||||
OLLAMA_API_KEY: ${OLLAMA_API_KEY:-}
|
||||
OLLAMA_URLS: http://ollama:11434
|
||||
KNOWLEDGE_VECTOR_BACKEND: local
|
||||
OUTCOME_LEARNING_ENABLED: "false"
|
||||
|
||||
@@ -39,6 +39,8 @@ services:
|
||||
NEUROFORGE_WORKER_MAX_CONCURRENCY: ${NEUROFORGE_GPU_WORKER_CONCURRENCY:-1}
|
||||
NEUROFORGE_WORKER_HEARTBEAT_INTERVAL: ${NEUROFORGE_WORKER_HEARTBEAT_INTERVAL:-15s}
|
||||
NEUROFORGE_WORKER_OLLAMA_URL: http://ollama:11434
|
||||
NEUROFORGE_WORKER_OLLAMA_API_KEY: ${NEUROFORGE_WORKER_OLLAMA_API_KEY:-}
|
||||
OLLAMA_API_KEY: ${OLLAMA_API_KEY:-}
|
||||
NEUROFORGE_WORKER_OLLAMA_CHAT_MODEL: ${OLLAMA_MODEL:-gemma4}
|
||||
NEUROFORGE_WORKER_OLLAMA_EMBEDDING_MODEL: ${OLLAMA_EMBEDDING_MODEL:-embeddinggemma}
|
||||
NEUROFORGE_WORKER_OLLAMA_NUM_CTX: ${NEUROFORGE_OLLAMA_NUM_CTX:-8192}
|
||||
|
||||
@@ -11,6 +11,7 @@ services:
|
||||
BACKUP_DIR: /data/backups
|
||||
STAGING_DIR: /data/staging
|
||||
LISTEN_ADDR: :8080
|
||||
OLLAMA_API_KEY: ${OLLAMA_API_KEY:-}
|
||||
BRAIN_ACTIVITY_URL: ""
|
||||
BRAIN_ACTIVITY_API_KEY: ""
|
||||
ports:
|
||||
|
||||
@@ -47,6 +47,8 @@ services:
|
||||
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
|
||||
NEUROFORGE_OLLAMA_URL: ${OLLAMA_BASE_URL:?Set Ollama URL reachable from master,
|
||||
normally GPU subagent host}
|
||||
NEUROFORGE_OLLAMA_API_KEY: ${NEUROFORGE_OLLAMA_API_KEY:-}
|
||||
OLLAMA_API_KEY: ${OLLAMA_API_KEY:-}
|
||||
NEUROFORGE_OLLAMA_CHAT_MODEL: ${OLLAMA_MODEL:-gemma3}
|
||||
NEUROFORGE_OLLAMA_EMBEDDING_MODEL: ${OLLAMA_EMBEDDING_MODEL:-embeddinggemma}
|
||||
NEUROFORGE_OLLAMA_NUM_CTX: ${NEUROFORGE_OLLAMA_NUM_CTX:-8192}
|
||||
@@ -317,6 +319,7 @@ services:
|
||||
OLLAMA_THINK: ${OLLAMA_THINK:-}
|
||||
OLLAMA_TIMEOUT: ${OLLAMA_TIMEOUT:-}
|
||||
OLLAMA_URL: ${OLLAMA_BASE_URL:?Set Ollama URL reachable from master}
|
||||
OLLAMA_API_KEY: ${OLLAMA_API_KEY:-}
|
||||
OLLAMA_URLS: ${OLLAMA_URLS:?Set one or more Ollama URLs reachable from master}
|
||||
OUTCOME_LEARNING_ENABLED: ${OUTCOME_LEARNING_ENABLED:-true}
|
||||
OUTCOME_LEARNING_FAIL_OPEN: ${OUTCOME_LEARNING_FAIL_OPEN:-false}
|
||||
@@ -389,6 +392,7 @@ services:
|
||||
BASIC_AUTH_PASSWORD: ${BASIC_AUTH_PASSWORD:?Set the Knowledge web password}
|
||||
AI_FALLBACK_ENABLED: ${AI_FALLBACK_ENABLED:-false}
|
||||
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:?Set Ollama URL reachable from master}
|
||||
OLLAMA_API_KEY: ${OLLAMA_API_KEY:-}
|
||||
OLLAMA_MODEL: ${OLLAMA_MODEL:-gemma3}
|
||||
OLLAMA_TIMEOUT: ${OLLAMA_TIMEOUT:-10m}
|
||||
OLLAMA_MAX_CONCURRENT: ${OLLAMA_MAX_CONCURRENT:-2}
|
||||
|
||||
@@ -63,7 +63,7 @@ groups:
|
||||
labels: {severity: warning}
|
||||
annotations:
|
||||
summary: "NeuroForge pending job payload memory is high"
|
||||
description: "Pending durable job payload/result bytes exceed 100 MiB for 5 minutes; backfill should remain below the v1.6.2 safety budget."
|
||||
description: "Pending durable job payload/result bytes exceed 100 MiB for 5 minutes; backfill should remain below the v1.6.1 safety budget."
|
||||
|
||||
- alert: NeuroForgeTerminalPayloadHigh
|
||||
expr: neuroforge_job_payload_bytes{state="terminal"} > 67108864
|
||||
@@ -71,4 +71,4 @@ groups:
|
||||
labels: {severity: warning}
|
||||
annotations:
|
||||
summary: "NeuroForge terminal job payload retention is high"
|
||||
description: "Terminal job payload/result bytes exceed 64 MiB. Completed vector.relink jobs should be compacted automatically in v1.6.2."
|
||||
description: "Terminal job payload/result bytes exceed 64 MiB. Completed vector.relink jobs should be compacted automatically in v1.6.1."
|
||||
|
||||
Reference in New Issue
Block a user