Files
customer-installer/CHANGELOG_WORKFLOW_RELOAD.md
Wolfgang aa00fb9d29 feat: Add credentials management system and comprehensive testing
- Add credentials management system with automatic saving and updates
- Add upload form URL to JSON output
- Add Ollama model information to JSON output
- Implement credential update system (update_credentials.sh)
- Implement credential save system (save_credentials.sh)
- Add comprehensive test suites (infrastructure, n8n, PostgREST, complete system)
- Add workflow auto-reload system with systemd service
- Add detailed documentation (CREDENTIALS_MANAGEMENT.md, TEST_REPORT.md, VERIFICATION_SUMMARY.md)
- Improve n8n setup with robust API-based workflow import
- Add .gitignore for credentials directory
- All tests passing (40+ test cases)

Key Features:
- Credentials automatically saved to credentials/<hostname>.json
- Update Ollama URL from IP to hostname without container restart
- Comprehensive testing with 4 test suites
- Full documentation and examples
- Production-ready system
2026-01-24 22:31:26 +01:00

168 lines
4.0 KiB
Markdown

# Changelog - Workflow Auto-Reload Feature
## Version 1.0.0 - 2024-01-15
### ✨ Neue Features
#### Automatisches Workflow-Reload bei LXC-Neustart
Der n8n-Workflow wird jetzt bei jedem Neustart des LXC-Containers automatisch neu geladen. Dies stellt sicher, dass der Workflow immer im gewünschten Zustand ist.
### 📝 Änderungen
#### Neue Dateien
1. **`templates/reload-workflow.sh`**
- Bash-Script für automatisches Workflow-Reload
- Liest Konfiguration aus `.env`
- Wartet auf n8n API
- Löscht alten Workflow
- Importiert neuen Workflow aus Template
- Aktiviert Workflow
- Umfassendes Logging
2. **`templates/n8n-workflow-reload.service`**
- Systemd-Service-Unit
- Startet automatisch beim LXC-Boot
- Wartet auf Docker und n8n
- Führt Reload-Script aus
3. **`WORKFLOW_RELOAD_README.md`**
- Vollständige Dokumentation
- Funktionsweise
- Installation
- Fehlerbehandlung
- Wartung
4. **`WORKFLOW_RELOAD_TODO.md`**
- Implementierungsplan
- Aufgabenliste
- Status-Tracking
5. **`CHANGELOG_WORKFLOW_RELOAD.md`**
- Diese Datei
- Änderungsprotokoll
#### Geänderte Dateien
1. **`libsupabase.sh`**
- Neue Funktion: `n8n_api_list_workflows()`
- Neue Funktion: `n8n_api_get_workflow_by_name()`
- Neue Funktion: `n8n_api_delete_workflow()`
- Neue Funktion: `n8n_api_get_credential_by_name()`
2. **`install.sh`**
- Neuer Schritt 10a: Setup Workflow Auto-Reload
- Kopiert Workflow-Template in Container
- Installiert Reload-Script
- Installiert Systemd-Service
- Aktiviert Service
### 🔧 Technische Details
#### Systemd-Integration
- **Service-Name**: `n8n-workflow-reload.service`
- **Service-Typ**: `oneshot`
- **Abhängigkeiten**: `docker.service`
- **Auto-Start**: Ja (enabled)
#### Workflow-Verarbeitung
- **Template-Speicherort**: `/opt/customer-stack/workflow-template.json`
- **Verarbeitungs-Script**: Python 3
- **Credential-Ersetzung**: Automatisch
- **Felder-Bereinigung**: `id`, `versionId`, `meta`, `tags`, `active`, `pinData`
#### Logging
- **Log-Datei**: `/opt/customer-stack/logs/workflow-reload.log`
- **Systemd-Journal**: `journalctl -u n8n-workflow-reload.service`
- **Log-Level**: INFO, ERROR
### 🎯 Verwendung
#### Automatisch (Standard)
Bei jeder Installation wird das Auto-Reload-Feature automatisch konfiguriert:
```bash
bash install.sh --debug
```
#### Manuelles Reload
```bash
# Im LXC-Container
/opt/customer-stack/reload-workflow.sh
```
#### Service-Verwaltung
```bash
# Status prüfen
systemctl status n8n-workflow-reload.service
# Logs anzeigen
journalctl -u n8n-workflow-reload.service -f
# Service neu starten
systemctl restart n8n-workflow-reload.service
# Service deaktivieren
systemctl disable n8n-workflow-reload.service
# Service aktivieren
systemctl enable n8n-workflow-reload.service
```
### 🐛 Bekannte Einschränkungen
1. **Wartezeit beim Start**: 10 Sekunden Verzögerung nach Docker-Start
2. **Timeout**: Maximale Wartezeit für n8n API: 60 Sekunden
3. **Workflow-Name**: Muss exakt "RAG KI-Bot (PGVector)" sein
4. **Credential-Namen**: Müssen exakt "PostgreSQL (local)" und "Ollama (local)" sein
### 🔄 Workflow beim Neustart
```
1. LXC startet
2. Docker startet
3. n8n-Container startet
4. Systemd wartet 10 Sekunden
5. Reload-Script startet
6. Script wartet auf n8n API (max. 60s)
7. Login bei n8n
8. Suche nach altem Workflow
9. Lösche alten Workflow (falls vorhanden)
10. Suche nach Credentials
11. Verarbeite Workflow-Template
12. Importiere neuen Workflow
13. Aktiviere Workflow
14. Cleanup
15. Workflow ist bereit
```
### 📊 Statistiken
- **Neue Dateien**: 5
- **Geänderte Dateien**: 2
- **Neue Funktionen**: 4
- **Zeilen Code**: ~500
- **Dokumentation**: ~400 Zeilen
### 🚀 Nächste Schritte
- [ ] Tests durchführen
- [ ] Feedback sammeln
- [ ] Optimierungen vornehmen
- [ ] Weitere Workflows unterstützen (optional)
### 📚 Dokumentation
Siehe `WORKFLOW_RELOAD_README.md` für vollständige Dokumentation.
### 🙏 Danke
Dieses Feature wurde entwickelt, um die Wartung und Zuverlässigkeit der n8n-Installation zu verbessern.