Zum Inhalt

Polycrate CLI 0.30.5

Release-Datum: 8. März 2026
Typ: Bugfix-Release

Highlights

Polycrate CLI 0.30.5 behebt einen kritischen Fehler in poly ssh auf macOS, bei dem die SSH-Verbindung mit ControlPath too long abgebrochen ist.

Artefakte

Docker Images

docker pull cargo.ayedo.cloud/library/polycrate:0.30.5

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.5

Installationsanleitung


Bugfixes

poly ssh: ControlPath zu lang auf macOS

Problem: Auf macOS gibt os.TempDir() den nutzerspezifischen temporären Ordner $TMPDIR zurück, z.B.:

/var/folders/dm/2wyvsrd55l72k13mcbn_1xmc0000gn/T

Dieser Pfad ist bereits 43 Zeichen lang. Kombiniert mit den Pfadsegmenten für Organisation, Workspace-Name und Key-Source überschritt der resultierende SSH ControlPath das harte Limit von 104 Bytes auf macOS (Unix Domain Socket sun_path):

ControlPath too long ('/var/folders/.../T/.polycrate/.ssh/tng/tng-endurance/workspace/ayedo@10.79.2.11:22' >= 104 bytes)
exit status 255

Fix: Das ControlPath-Verzeichnis wird jetzt mit zwei Maßnahmen kurz gehalten:

  1. Feste Basis /tmp statt os.TempDir() — eliminiert die unvorhersehbar langen macOS-Pfade
  2. SHA256-Hash der Kombination aus Organisation, Workspace-Name und Key-Source als 16-stelliger Hex-String statt der langen Pfadsegmente

Neues Format:

/tmp/.polycrate/.ssh/{16hexchars}/{user}@{host}:{port}

Beispiel (identischer Workspace wie oben):

/tmp/.polycrate/.ssh/a3f7c2d891b04e6f/ayedo@10.79.2.11:22   (57 Bytes)

Der Hash ist deterministisch — gleiche Workspace-Parameter erzeugen immer denselben Pfad, sodass SSH ControlMaster/ControlPersist für Verbindungs-Multiplexing weiterhin funktioniert.

SSH-Dokumentation