Polycrate CLI 0.30.4
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
docker pull cargo.ayedo.cloud/library/polycrate:0.30.4
CLI Downloads
| Plattform | Architektur | Download |
|---|---|---|
| Linux | amd64 | Download |
| Linux | arm64 | Download |
| macOS | amd64 | Download |
| macOS | arm64 (Apple Silicon) | Download |
Installation & Update
polycrate update 0.30.4
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).
polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-operator
polycrate run polycrate-operator install