Zum Inhalt

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

Installationsanleitung


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, wenn become: yes im 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