44 lines
2 KiB
Bash
44 lines
2 KiB
Bash
#!/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."
|