Troubleshooting¶
Dieser Leitfaden hilft bei der Lösung häufiger Probleme mit Polycrate.
Docker-Probleme¶
"Cannot connect to Docker daemon"¶
Problem: Polycrate kann keine Verbindung zum Docker-Daemon herstellen.
Lösungen:
-
Prüfen Sie, ob Docker läuft:
-
Starten Sie Docker:
-
Prüfen Sie Berechtigungen:
-
Prüfen Sie den Socket-Pfad:
"Image not found" oder Pull-Fehler¶
Problem: Polycrate kann das Workspace-Image nicht finden oder herunterladen.
Lösungen:
-
Prüfen Sie Ihre Internetverbindung
-
Authentifizieren Sie sich bei der Registry:
-
Verwenden Sie ein anderes Image:
-
Überspringen Sie den Pull (wenn Image bereits lokal):
Container startet nicht¶
Problem: Der Polycrate-Container startet nicht oder stürzt sofort ab.
Lösungen:
-
Prüfen Sie die Container-Logs:
-
Prüfen Sie die Polycrate-Logs:
-
Erhöhen Sie den Log-Level:
-
Testen Sie den Container manuell:
Workspace-Probleme¶
"Not a valid workspace"¶
Problem: Polycrate erkennt das Verzeichnis nicht als Workspace.
Lösungen:
-
Prüfen Sie, ob
workspace.polyexistiert: -
Initialisieren Sie einen neuen Workspace (im Zielverzeichnis):
-
Geben Sie den Workspace-Pfad explizit an:
Workspace-Verschlüsselung schlägt fehl¶
Experimental Feature
Workspace-Verschlüsselung ist ein experimentelles Feature und kann sich in zukünftigen Versionen ändern.
Problem: Verschlüsselung oder Entschlüsselung des Workspace schlägt fehl.
Lösungen:
-
Prüfen Sie den Verschlüsselungsstatus:
-
Stellen Sie sicher, dass Sie die richtige Passphrase verwenden
-
Prüfen Sie, ob verschlüsselte Dateien existieren:
-
Backup vor Verschlüsselung erstellen:
Snapshot-Fehler¶
Problem: Snapshot kann nicht generiert werden.
Lösungen:
-
Validieren Sie Ihre Workspace-Konfiguration:
-
Prüfen Sie auf Syntax-Fehler in
workspace.poly: -
Testen Sie den Snapshot isoliert:
Block-Probleme¶
"Block not found"¶
Problem: Polycrate kann einen Block nicht finden.
Lösungen:
-
Listen Sie alle verfügbaren Blocks auf:
-
Prüfen Sie die Block-Directory:
-
Pullen Sie den Block aus der Registry:
-
Prüfen Sie die Block-Konfiguration:
Block-Validation schlägt fehl¶
Problem: Block-Validierung schlägt fehl.
Lösungen:
-
Validieren Sie den Block:
-
Prüfen Sie die
block.polyauf Syntax-Fehler: -
Inspizieren Sie die Block-Konfiguration:
Block Push/Pull schlägt fehl¶
Problem: Block kann nicht in die Registry gepusht oder von ihr gepullt werden.
Lösungen:
-
Authentifizieren Sie sich bei der Registry:
-
Prüfen Sie die Registry-URL:
-
Prüfen Sie die Block-Version:
-
Prüfen Sie Netzwerk-Verbindung zur Registry:
Action-Probleme¶
"Action not found"¶
Problem: Action existiert nicht oder kann nicht gefunden werden.
Lösungen:
-
Listen Sie alle verfügbaren Actions auf:
-
Inspizieren Sie den Block:
-
Prüfen Sie die Block-Konfiguration:
Action schlägt fehl¶
Problem: Action-Ausführung schlägt mit Fehler fehl.
Lösungen:
-
Erhöhen Sie den Log-Level:
-
Prüfen Sie die Logs:
-
Führen Sie die Action lokal aus (für Debugging):
-
Inspizieren Sie die Action:
-
Testen Sie mit Snapshot (ohne Ausführung):
Ansible-Fehler¶
Problem: Ansible-Playbook schlägt fehl.
Lösungen:
-
Prüfen Sie die Ansible-Syntax:
-
Erhöhen Sie Ansible-Verbosity:
-
Prüfen Sie das Inventory:
-
Testen Sie Ansible-Verbindung:
Workflow-Probleme¶
Workflow schlägt fehl¶
Problem: Workflow-Ausführung schlägt fehl.
Lösungen:
-
Listen Sie alle Workflows auf:
-
Inspizieren Sie den Workflow:
-
Führen Sie Steps einzeln aus:
-
Verwenden Sie
allow_failurefür optionale Steps:
SSH-Probleme¶
SSH-Verbindung schlägt fehl¶
Problem: SSH-Verbindung zu Remote-Host schlägt fehl.
Lösungen:
-
Prüfen Sie SSH-Keys:
-
Testen Sie SSH-Verbindung manuell:
-
Prüfen Sie das Inventory:
-
Verwenden Sie SSH-Passphrase ⚠️ Experimental:
-
Prüfen Sie authorized_keys auf Remote-Host:
Performance-Probleme¶
Polycrate ist langsam¶
Problem: Polycrate-Ausführung dauert sehr lange.
Lösungen:
-
Überspringen Sie Image-Pull (wenn bereits vorhanden):
-
Überspringen Sie Image-Build (wenn kein Custom Dockerfile.poly):
-
Führen Sie lokal aus (wenn möglich):
-
Prüfen Sie Docker-Performance:
-
Erhöhen Sie Docker-Ressourcen (Docker Desktop):
- Settings → Resources → Increase CPU/Memory
Container baut lange¶
Problem: Custom Container-Image braucht lange zum Bauen.
Lösungen:
-
Optimieren Sie Ihr Dockerfile.poly:
-
Verwenden Sie Docker Build-Cache:
-
Überspringen Sie Build wenn möglich:
Konfigurationsprobleme¶
Umgebungsvariablen werden nicht aufgelöst¶
Problem: Umgebungsvariablen in der Konfiguration werden nicht ersetzt.
Lösungen:
-
Setzen Sie die Umgebungsvariable:
-
Übergeben Sie sie als Flag:
-
Verwenden Sie eine .env-Datei:
Merge-Konflikte in Konfiguration¶
Problem: Konfigurationen werden nicht korrekt zusammengeführt.
Lösungen:
-
Aktivieren Sie Merge-Debugging:
-
Verwenden Sie Merge v2:
-
Inspizieren Sie den finalen Snapshot:
Registry-Probleme¶
"Registry authentication failed"¶
Problem: Authentifizierung bei der Registry schlägt fehl.
Lösungen:
-
Login via Docker:
-
Prüfen Sie Docker-Config:
-
Verwenden Sie API-Key statt Passwort:
"Rate limit exceeded"¶
Problem: Zu viele Requests zur Registry.
Lösungen:
-
Authentifizieren Sie sich (höhere Limits für authentifizierte User):
-
Warten Sie und versuchen Sie es später erneut
-
Verwenden Sie einen Mirror/Cache
Häufige Fehlermeldungen¶
"permission denied"¶
- Prüfen Sie Datei-Berechtigungen:
chmod 755 file - Prüfen Sie Docker-Berechtigungen:
sudo usermod -aG docker $USER - Prüfen Sie SSH-Key-Berechtigungen:
chmod 600 id_rsa
"no space left on device"¶
- Prüfen Sie Speicherplatz:
df -h - Bereinigen Sie Docker:
docker system prune -a - Bereinigen Sie Polycrate-Logs:
rm -rf .logs/* - Bereinigen Sie Artefakte:
polycrate prune my-block
"port already in use"¶
- Prüfen Sie verwendete Ports:
netstat -tuln | grep <port> - Stoppen Sie konfligierende Container:
docker psunddocker stop <container> - Verwenden Sie anderen Port in der Konfiguration
"connection timeout"¶
- Prüfen Sie Netzwerk-Verbindung
- Prüfen Sie Firewall-Regeln
- Erhöhen Sie Timeout-Werte
- Prüfen Sie DNS-Auflösung:
nslookup host
Debugging-Tipps¶
Erweiterte Logs¶
# Maximaler Log-Level
polycrate run my-block install --loglevel 2
# JSON-Format für maschinelle Verarbeitung
polycrate run my-block install --logformat json
# YAML-Format
polycrate run my-block install --logformat yaml
Interaktiver Modus¶
Snapshot analysieren¶
# Snapshot generieren und analysieren
polycrate run my-block install --snapshot > snapshot.yml
# Prüfen auf spezifische Werte
cat snapshot.yml | grep "key_name"
# Mit yq filtern
yq eval '.blocks[].config' snapshot.yml
Container debuggen¶
# Shell im Container öffnen
docker run -it --rm \
-v $(pwd):/workspace \
cargo.ayedo.cloud/library/polycrate:latest \
/bin/sh
# Im Container
cd /workspace
ls -la
Support¶
Wenn Sie das Problem nicht lösen können:
- Dokumentation prüfen:
- CLI-Referenz
-
Community fragen:
- Discord Server
-
Issue erstellen:
- GitHub Issues
- Fügen Sie Logs, Konfiguration und Reproduktionsschritte hinzu