- 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
168 lines
4.0 KiB
Markdown
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.
|