#!/bin/bash # CP2A2.2B — L1 Red Queen Worker: Deploy-Skript # STRICTLY NON-AUTONOMOUS / NON-PRODUCTIVE. NO AUTONOMY. NO HEARTBEAT. NO SCHEDULER. # # Baut und startet den L1 Worker Container (non-root, hardened, internal-Netz). # Haengt Gate-Evaluator, Ollama und Tolaria an das l1-internal Netz an # (nur Netzwerk-Attachment, KEINE Config/ENV/Credential-Aenderung). # # KEIN AUTOSTART-AUTONOMIE: Der Container startet inert (sleep infinity). # Kein autonomer Tick, kein Heartbeat, kein Scheduler. set -eu cd "$(dirname "$0")" echo "=== CP2A2.2B L1 WORKER DEPLOY ===" # 1. Worker-State-Volume vorbereiten (worker-owned, UID 10010) # Das Volume wird als named volume gemountet; der hermes-User (UID 10010) # ist der Worker und besitzt das State-Verzeichnis. echo "[1/4] Worker-State-Volume vorbereiten..." docker volume create l1-worker-state >/dev/null 2>&1 || true # 2. Image bauen (aus SoT, non-root, read-only, cap-drop) echo "[2/4] Image bauen (l1-red-queen-worker:cp2a2_2b)..." docker build -t l1-red-queen-worker:cp2a2_2b . # 3. Container starten (internal-Netz, non-root, hardened) echo "[3/4] Container starten (l1-red-queen-worker)..." docker compose -f docker-compose.yml up -d # 4. Interne Ziele an l1-internal Netz anhaengen (nur Netzwerk-Attachment) echo "[4/4] Interne Ziele an l1-internal Netz anhaengen..." docker network connect l1-internal gate-evaluator 2>/dev/null || echo " (gate-evaluator bereits verbunden oder nicht verfuegbar)" docker network connect l1-internal ollama-nb6d-ollama-1 2>/dev/null || echo " (ollama bereits verbunden oder nicht verfuegbar)" docker network connect l1-internal tolaria 2>/dev/null || echo " (tolaria bereits verbunden oder nicht verfuegbar)" echo "" echo "=== DEPLOY ABGESCHLOSSEN ===" echo "Container: l1-red-queen-worker (inert idle, NO AUTONOMY)" echo "Netzwerk: l1-internal (internal=true, keine Egress)" echo "State-Volume: l1-worker-state (worker-owned)" echo "" echo "Hinweis: Der Worker startet inert. Kein autonomer Tick wird gestartet."