@@ -10,11 +10,11 @@ dest="$DEST_ROOT/$stamp"
|
||||
mkdir -p "$dest"
|
||||
|
||||
./scripts/preflight.sh
|
||||
restart() { docker compose --env-file "$ENV_FILE" up -d knowledge neuroforge neuroforge-worker agent >/dev/null 2>&1 || true; }
|
||||
restart() { docker compose --env-file "$ENV_FILE" up -d knowledge neuroforge neuroforge-worker-cpu neuroforge-worker-gpu agent >/dev/null 2>&1 || true; }
|
||||
trap restart EXIT INT TERM
|
||||
|
||||
echo "backup: entering short maintenance stop"
|
||||
docker compose --env-file "$ENV_FILE" stop neuroforge-worker agent neuroforge knowledge
|
||||
docker compose --env-file "$ENV_FILE" stop neuroforge-worker-cpu neuroforge-worker-gpu agent neuroforge knowledge
|
||||
docker compose --env-file "$ENV_FILE" create neuroforge agent >/dev/null
|
||||
mkdir -p "$dest/neuroforge-data" "$dest/agent-data" "$dest/knowledge" "$dest/staging" "$dest/knowledge-backups"
|
||||
docker compose --env-file "$ENV_FILE" cp neuroforge:/app/data/. "$dest/neuroforge-data/"
|
||||
|
||||
@@ -16,6 +16,12 @@ if grep -Eq '^[[:space:]]+env_file:' docker-compose.yml; then fail "production d
|
||||
for image in neuroforge neuroforge-worker agent agent-data-init knowledge control; do
|
||||
grep -Fq "git.send.nrw/sendnrw/glpi-neuroforge-mega-${image}:\${IMAGE_TAG:" docker-compose.yml || fail "registry image mapping missing for ${image}"
|
||||
done
|
||||
for service in neuroforge-worker-cpu neuroforge-worker-gpu; do
|
||||
grep -Eq "^[[:space:]]{2}${service}:" docker-compose.yml || fail "production compose is missing ${service}"
|
||||
done
|
||||
[ -f docker-compose.subagent.yml ] || fail "docker-compose.subagent.yml is missing"
|
||||
if grep -Eq '^[[:space:]]+build:|^[[:space:]]+env_file:' docker-compose.subagent.yml; then fail "remote subagent compose contains build/env_file"; fi
|
||||
grep -Fq 'glpi-neuroforge-mega-neuroforge-worker:${IMAGE_TAG:' docker-compose.subagent.yml || fail "remote subagent image is not pinned by IMAGE_TAG"
|
||||
|
||||
if [ "$STATIC_ONLY" = true ]; then
|
||||
if grep -Eq '^IMAGE_TAG[[:space:]]*=[[:space:]]*latest([[:space:]]|$)' .env.example; then fail ".env.example sets IMAGE_TAG=latest"; fi
|
||||
|
||||
@@ -5,6 +5,7 @@ cd "$ROOT"
|
||||
./scripts/preflight.sh --static
|
||||
./scripts/check-compose-env.py
|
||||
./scripts/secret-scan.sh
|
||||
make engineering-graph-check
|
||||
for module in platform/neuroforge services/agent services/knowledge services/control; do
|
||||
echo "release-gate: $module: test"
|
||||
(cd "$module" && go test ./...)
|
||||
|
||||
@@ -15,5 +15,5 @@ export SEARXNG_SECRET=$secret
|
||||
cd "$ROOT"
|
||||
NEUROFORGE_RESEARCH_ENABLED=true \
|
||||
NEUROFORGE_SEARXNG_ENABLED=true \
|
||||
docker compose --profile research up -d ollama knowledge searxng neuroforge neuroforge-worker
|
||||
docker compose --profile research up -d ollama knowledge searxng neuroforge neuroforge-worker-cpu neuroforge-worker-gpu
|
||||
printf '%s\n' 'SearXNG + NeuroForge research are running. Autonomy remains controlled by NEUROFORGE_AUTONOMY_ENABLED.'
|
||||
|
||||
@@ -9,10 +9,10 @@ HELPER_IMAGE=${BACKUP_HELPER_IMAGE:-busybox:1.36}
|
||||
./scripts/preflight.sh
|
||||
getv() { sed -n "s/^$1=//p" "$ENV_FILE" | tail -n1 | tr -d '\r'; }
|
||||
|
||||
restart() { docker compose --env-file "$ENV_FILE" up -d knowledge neuroforge neuroforge-worker agent >/dev/null 2>&1 || true; }
|
||||
restart() { docker compose --env-file "$ENV_FILE" up -d knowledge neuroforge neuroforge-worker-cpu neuroforge-worker-gpu agent >/dev/null 2>&1 || true; }
|
||||
trap restart EXIT INT TERM
|
||||
|
||||
docker compose --env-file "$ENV_FILE" stop neuroforge-worker agent neuroforge knowledge
|
||||
docker compose --env-file "$ENV_FILE" stop neuroforge-worker-cpu neuroforge-worker-gpu agent neuroforge knowledge
|
||||
docker compose --env-file "$ENV_FILE" create neuroforge agent >/dev/null
|
||||
volume_for() {
|
||||
service=$1; destination=$2
|
||||
|
||||
Reference in New Issue
Block a user