Polycrate CLI 0.30.4¶
Release-Datum: 5. März 2026
Typ: Bugfix- und Feature-Release
Highlights¶
Polycrate CLI 0.30.4 erweitert die Operator-Stabilität mit API-Existenzprüfungen für Endpoints und K8sApps, verbessert die SSH- und Ansible-Integration (persönliche Keys, sudo/become) sowie die Block-Artefakte-Pfade. Zusätzlich: robustere Git-Verarbeitung bei malformierten known_hosts und verbesserte Docker-Pull-Fortschrittsanzeige.
Artefakte¶
Docker Images¶
CLI Downloads¶
| Plattform | Architektur | Download |
|---|---|---|
| Linux | amd64 | Download |
| Linux | arm64 | Download |
| macOS | amd64 | Download |
| macOS | arm64 (Apple Silicon) | Download |
Installation & Update¶
Operator-Verbesserungen¶
Endpoint API-Existenzprüfung und Brown-Out-Reparatur¶
Problem: Wenn die polycrate-api Endpoints löscht (z.B. durch Reconciliation oder manuell), führte der Operator weiterhin UPDATE aus – das schlägt fehl, weil die API-ID nicht mehr existiert. Es wurde nie CREATE ausgeführt.
Lösung: Zu Beginn jedes Reconciles prüft der Operator per GetEndpointByRemoteAddress(), ob der Endpoint in der API noch existiert. Bei 404 oder abweichender ID wird Status.ApiId geleert und der Endpoint neu angelegt (CREATE). So werden Brown-Out-Szenarien automatisch repariert.
K8sApp Adopt Existing¶
Problem: Nach Workspace-Sync und API-Reconciliation existieren K8sApps bereits in der API (importiert aus Block-Instanzen). Der Operator versuchte trotzdem CREATE und erhielt 400 "Kubernetes App with this block already exists.".
Lösung: Analog zum Endpoint-Controller (0.30.3): Vor CREATE prüft der Operator per API-Abfrage, ob eine K8sApp mit demselben Block bereits existiert. Wenn ja, wird deren ID übernommen (Adopt Existing) und UPDATE ausgeführt statt CREATE.
SSH & Ansible¶
Persönliche SSH-Keys und Ansible become¶
config.sshkeysource: user– Nutzung des persönlichen SSH-Keys statt Workspace-Key (ideal für einheitliche Authentifizierung und ssh-agent)--ask-become-pass/-K– Interaktive Abfrage des Ansible become/sudo-Passworts, wennbecome: yesim Playbook verwendet wird
→ SSH-Dokumentation | CLI-Referenz
SSH-Session- und Workspace-Sync-Audit¶
polycrate ssh und polycrate workspace sync persistieren jetzt Activities in der polycrate-api (name, type, ansible_host, Host- und Workspace-Verknüpfung) für Audit-Zwecke.
Inventory Var-Inheritance¶
Var-Inheritance aus all.vars wird Ansible-konform unterstützt – Variablen werden korrekt an Hosts und Gruppen vererbt.
Block-Artefakte¶
Block.Artifacts.Secrets.*Path¶
Playbooks und Jinja-Templates haben Zugriff auf die Secrets-Ordner-Pfade des Blocks über block.artifacts.secrets.*Path. Dies ermöglicht flexible Verwendung von Secrets in Block-Actions.
→ Artefakte & Block-Secrets-Pfade
Bugfixes¶
go-git known_hosts – robuste Fehlerbehandlung¶
Bei malformierten Einträgen in ~/.ssh/known_hosts führte die bisherige Verarbeitung zu einem harten Abbruch. Die CLI behandelt Parse-Fehler jetzt robust und fährt mit der nächsten Zeile fort.
Docker Pull Progress – current/total Bytes¶
Die Fortschrittsanzeige beim Image-Pull zeigte in einigen Fällen falsche Prozentwerte (z.B. 36.000.000%). Die Anzeige von current/total Bytes wurde korrigiert.
polycrate-operator Block¶
Der polycrate-operator Block wurde auf Version 0.3.39 aktualisiert (app_version: 0.30.4).