Polycrate 0.29.3¶
Veröffentlicht am: 2026-01-09
Highlights¶
Bugfix-Release mit wichtigen Fixes für Action Run Output Capture, Git Branch-Awareness und Operator-Stabilität bei langen Secret-Namen und Wildcard-Ingress-Hostnames.
Artefakte¶
Docker Images¶
# Multi-arch Image (linux/amd64, linux/arm64)
docker pull cargo.ayedo.cloud/library/polycrate:0.29.3
docker pull cargo.ayedo.cloud/library/polycrate:latest
CLI Downloads¶
| Plattform | Architektur | Download |
|---|---|---|
| Linux | amd64 | Download |
| Linux | arm64 | Download |
| macOS | amd64 | Download |
| macOS | arm64 | Download |
Installation & Update¶
# Bestehende Installation aktualisieren
polycrate update 0.29.3
# Neuinstallation siehe Dokumentation
→ Installationsanleitung | Update-Anleitung
Bugfixes¶
Action Run Output Capture¶
Container-Output wurde bei --docker-native (Standard seit 0.28.0) nicht an die API übermittelt. Das stdout-Feld in ActionRun-Objekten war leer.
Fix: NativeDockerBackend.Run() verwendet jetzt io.MultiWriter um Output gleichzeitig anzuzeigen und zu erfassen.
Block Config Submission¶
Die block.poly Konfiguration wurde nicht korrekt zur API gesendet, weil YAML-Parsing map[interface{}]interface{} erzeugt, was JSON nicht serialisieren kann.
Fix: Explizite Konvertierung zu map[string]interface{} vor der API-Submission.
Dockerfile.poly Spinner Flicker¶
Beim Build von Custom Docker Images (Dockerfile.poly) flackerte der Terminal-Spinner durch doppelte, verschachtelte Spinner-Aufrufe.
Fix: Spinner aus BuildContainer() entfernt - der Aufrufer ist für UI-Feedback verantwortlich.
Verbesserungen¶
Git Branch-Aware Operations¶
Alle Git-Operationen verwenden jetzt den aktuell ausgecheckten Branch statt hardcoded main:
# Auf Branch 'staging'
git checkout staging
polycrate git pull # Pullt von origin/staging (nicht origin/main!)
polycrate git push # Pusht nach origin/staging
polycrate git sync # Synct mit origin/staging
Die Warnung vor polycrate run zeigt jetzt den korrekten Branch:
Expliziter Override weiterhin möglich:
Block Push Spinner & Feedback¶
polycrate block push zeigt jetzt einen animierten Spinner während des Uploads mit Erfolgs-/Fehler-Indikator:
# Während des Uploads
[/] Pushing block cargo.ayedo.cloud/ayedo/k8s/my-block:1.0.0...
# Bei Erfolg
✓ Pushing block cargo.ayedo.cloud/ayedo/k8s/my-block:1.0.0
# Bei Fehler
✗ Pushing block cargo.ayedo.cloud/ayedo/k8s/my-block:1.0.0: access denied
Operator-Fixes¶
K8sApp Secret Name Length (RFC 1123)¶
Bei Blocks mit langen Namen (>40 Zeichen) schlug die K8sApp-CR-Erstellung fehl:
Fix:
- CLI: Neue
generateK8sMetaSecretName()Funktion mit Truncation + Hash bei >63 Zeichen - Operator: Defensive
sanitizeLabelValue()Funktion für alle Label-Werte
Wildcard Hostname Handling¶
Ingress-Ressourcen mit Wildcard-Hostnames (*.example.com) führten zu ungültigen Endpoint-CR-Namen:
Fix: hostToName() ersetzt jetzt * durch "wildcard" und stellt RFC 1123 Compliance sicher:
*.example.com→wildcard-example-com*.cdn.example.org→wildcard-cdn-example-org
Accepted Status Codes bei Updates¶
Wenn ein User die accepted_status_codes in der Polycrate API änderte (z.B. HTTP 401 als akzeptiert hinzufügt), wurden diese Änderungen nicht in den Kubernetes Endpoint CR übernommen.
Symptom: Der Operator-Agent meldete einen Endpoint als DOWN, obwohl der Status Code in der API als akzeptiert konfiguriert war.
Fix: Die mergeAPIEndpointSpec() Funktion übernimmt jetzt auch accepted_status_codes aus der API bei Updates.
Verbesserungen¶
Host SSH-Agent Auto-Mount¶
Der auf dem Host laufende SSH-Agent wird jetzt automatisch in den Container gemountet, wenn die Environment-Variable SSH_AUTH_SOCK gesetzt ist.
Das ermöglicht Git-Operationen im Container (z.B. polycrate run app release) ohne manuelle Mount-Konfiguration:
# SSH-Agent muss laufen und Key geladen sein
ssh-add ~/.ssh/id_ed25519
# Actions mit Git funktionieren jetzt automatisch
polycrate run app release
Mit --loglevel 2 wird angezeigt: Mounting host SSH agent socket: /run/user/1000/keyring/ssh
Release Action: Verbesserte Artefakt-Verwaltung¶
- Nur aktuelle Version: Upload filtert jetzt auf
*_{{ version }}_*.tar.gz - Automatisches Cleanup:
dist/wird nach erfolgreichem Release geleert
polycrate-operator Block¶
Der polycrate-operator Block wird mit diesem Release auf Version 0.3.8 aktualisiert:
polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-operator
polycrate run polycrate-operator install
Weitere Informationen¶
- Polycrate CLI Übersicht - Allgemeine Dokumentation
- Operator-Dokumentation - Kubernetes Operator