Files
glpi-neuroforge-mega/docs/ENV-MIGRATION-FROM-LEGACY.md
jbergner 8c67c7a7fa
release-tag / release-image (push) Successful in 10m52s
Update 1.5.0
2026-08-27 07:51:39 +02:00

81 lines
3.6 KiB
Markdown

# Migration einer bisherigen Agent-.env auf den Mega-Stack
## Ergebnis der Prüfung
Die 110 Variablennamen der bisherigen Agent-Konfiguration werden im aktuellen v1.5.0-Agenten
weiterhin verwendet. Das Problem lag nicht in entfernten Agent-Funktionen, sondern in der zu kurzen
Top-Level-`.env.example` des Mega-Projekts: 86 dieser 110 bisherigen Variablen waren dort nicht
explizit dokumentiert.
Die Repository-`.env.example` ist deshalb jetzt die vollständige kanonische Vorlage.
## Werte, die Compose intern besitzt
Diese Werte sollten im Mega-Stack nicht zur Host-Konfiguration benutzt werden:
| Variable | Mega-Containerwert | Externe Einstellung |
| --- | --- | --- |
| `HTTP_ADDR` | `:8080` | `AGENT_HOST_PORT` |
| `DATA_DIR` | `/app/data` | Docker Volume `agent-data` |
| `KNOWLEDGE_DIR` | `/app/knowledge` | `KB_DATA_PATH` |
| `OLLAMA_URL` | `http://ollama:11434` | Compose-Service `ollama` |
| `NEUROFORGE_URL` | `http://neuroforge:8080` | Compose-Service `neuroforge` |
| `NEUROFORGE_API_KEY` | aus `NEUROFORGE_INTEGRATION_TOKEN` | `NEUROFORGE_INTEGRATION_TOKEN` |
| `BRAIN_ACTIVITY_URL` | NeuroForge Event API | intern verdrahtet |
Compose überschreibt `HTTP_ADDR` jetzt explizit. Dadurch kann eine alte Standalone-Konfiguration
mit `HTTP_ADDR=:7080` nicht mehr dazu führen, dass der Container auf einem anderen Port lauscht als
Compose weiterleitet.
## Einstellungen mit relevantem Verhaltensunterschied
Beim bloßen Wechsel von der alten `.env` auf die frühere kurze Mega-`.env.example` hätten sich unter
anderem diese Werte geändert:
| Bereich | bisherige Konfiguration | Verhalten bei fehlender Variable / kurzer Mega-Vorlage |
| --- | --- | --- |
| GLPI KB Connector | aktiv | standardmäßig deaktiviert |
| GLPI-KB Auto-Reply | aktiv | standardmäßig deaktiviert |
| Knowledge Web Edit | aktiv | standardmäßig deaktiviert |
| Allowed Sources | mehrere interne/GLPI/Vendor-Quellen | nur `internal-kb` |
| Auto-Reply Sources | mehrere Quellen | nur `internal-kb` |
| Category Confidence | `0.70` | Code-Default `0.90` |
| Reply Confidence | `0.70` | Code-Default `0.97` |
| Change Lookback | `72h` | Code-Default `48h` |
| Chat-Modell | bisher z. B. `qwen3:8b` | Mega-Vorlage `gemma3` |
Diese Unterschiede sind nicht automatisch falsch, müssen aber bewusst entschieden werden.
## Neue Mega-Einstellungen
Neu gegenüber der bisherigen Agent-Only-Konfiguration sind insbesondere:
- getrennte NeuroForge Admin/App/Integration/Control-Read/Worker/Metrics Tokens
- `KNOWLEDGE_VECTOR_BACKEND=local|dual|neuroforge`
- NeuroForge Namespace/Search/Failure Policy
- Controlled Learning
- Human-validated Outcome Learning
- Outcome Retrieval
- Research/SearXNG
- getrennte Autonomy-Aktivierung
- Knowledge Integration Token
- scoped `CONTROL_READ_TOKEN`
- Control-Center-Basic-Auth sowie Control Center / NeuroForge / Knowledge Host Ports
- optionale Codebase-Memory-UI
## Empfohlene Migration
1. Neue `.env` aus der vollständigen `.env.example` erzeugen.
2. Neue Service-Tokens mit `./scripts/generate-secrets.sh` erzeugen.
3. GLPI-Zugangsdaten neu eintragen.
4. Gewünschte alte Retrieval-/Context-/Communication-Werte bewusst übertragen.
5. Zunächst `DRY_RUN=true` und alle automatischen Schreibaktionen deaktiviert lassen.
6. GLPI KB Sync, Knowledge Retrieval, Outcome Retrieval und NeuroForge im `dual`-Modus prüfen.
7. Erst danach einzelne Schreibfunktionen kontrolliert aktivieren.
## Credential-Hygiene
Zugangsdaten, die in Chat, Tickets, CI-Logs oder Screenshots veröffentlicht wurden, gelten nicht mehr
als geheim und sollten vor Produktionsbetrieb rotiert werden. Das betrifft insbesondere GLPI
Client-Secrets/Passwörter, Web-Passwörter und Webhook-Secrets.