Polycrate CLI 0.38.0
Polycrate CLI 0.38.0
Release-Datum: 30. April 2026
Typ: Feature-Release
Highlights
Polycrate CLI 0.38.0 bringt einen grundlegend überarbeiteten Endpoint-Discovery-Mechanismus im Operator. Die Endpoint Discovery wechselt auf Annotation-Mode als Standard: Ingresses werden nur noch überwacht, wenn sie explizit mit polycrate_endpoint_monitor=true annotiert sind. Gleichzeitig werden alle bisherigen endpoints.polycrate.io/* Annotationen auf das einheitliche polycrate_* Format migriert — alte Annotationen werden per Dual-Read weiterhin akzeptiert.
Artefakte
Docker Images
docker pull cargo.ayedo.cloud/library/polycrate:0.38.0
CLI Downloads
| Plattform | Architektur | Download |
|---|---|---|
| Linux | amd64 | Download |
| Linux | arm64 | Download |
| macOS | amd64 | Download |
| macOS | arm64 (Apple Silicon) | Download |
Installation & Update
polycrate update 0.38.0
Änderungen
Endpoint Discovery: Annotation Mode
Der Operator unterstützt nun zwei Entdeckungs-Modi:
| Modus | Verhalten |
|---|---|
annotation (Standard) |
Nur Ingresses mit polycrate_endpoint_monitor: "true" (opt-in) |
auto |
Alle Ingresses, außer polycrate_endpoint_monitor: "false" (Legacy) |
Konfiguration:
endpoint_discovery:
enabled: true
mode: annotation # "annotation" oder "auto"
→ Operator-Dokumentation: Endpoint Discovery
Annotationsmigration: polycrate_* Format
Alle Endpoint-Annotationen auf Ingress-Objekten wurden auf das einheitliche polycrate_*-Format umgestellt:
| Alt (deprecated) | Neu (canonical) |
|---|---|
endpoints.polycrate.io/path |
polycrate_endpoint_path |
endpoints.polycrate.io/timeout |
polycrate_endpoint_timeout |
endpoints.polycrate.io/interval |
polycrate_endpoint_interval |
endpoints.polycrate.io/expected-status |
polycrate_endpoint_expected_status |
endpoints.polycrate.io/tls |
polycrate_endpoint_tls |
endpoints.polycrate.io/port |
polycrate_endpoint_port |
endpoints.polycrate.io/enabled / ignore |
polycrate_endpoint_monitor |
Dual-Read: Alte Annotationen werden weiterhin gelesen (als Fallback). Neue polycrate_* Annotationen haben Vorrang.
IngressClasses Filter
Neu: ingress_classes-Filter in der EndpointDiscoveryConfig. Nur Ingresses mit passendem IngressClassName werden verarbeitet:
endpoint_discovery:
ingress_classes:
- nginx
- traefik
K8sApp: Label → Annotation
Das Label k8sapps.polycrate.io/name (Verknüpfung mit K8sApp) wurde auf die Annotation polycrate_k8sapp_name migriert. Bestehende Labels werden on-reconcile automatisch entfernt.
Cleanup via OwnerReferences und Feldindex
Endpoint-CRs werden nun über OwnerReferences und Feldindizes statt deprecated Labels verwaltet. Bestehende CRs werden automatisch migriert (Self-Healing on reconcile).
Migration
Bestehende Setups: Schritt-für-Schritt
Option A: Legacy-Modus beibehalten (auto)
Setze mode: auto in der OperatorConfig:
endpoint_discovery:
enabled: true
mode: auto # Bisheriges Verhalten beibehalten
Option B: Auf annotation-Mode migrieren (empfohlen)
-
Annotiere alle Ingresses, die überwacht werden sollen:
kubectl annotate ingress my-ingress polycrate_endpoint_monitor=true -
Annotiere Ingresses, die explizit ignoriert werden sollen (war zuvor opt-out):
# Nicht nötig — im annotation-Mode werden nicht annotierte Ingresses automatisch ignoriert -
Migriere
endpoints.polycrate.io/*Annotationen aufpolycrate_*:# Beispiel: path kubectl annotate ingress my-ingress polycrate_endpoint_path=/api/health kubectl annotate ingress my-ingress endpoints.polycrate.io/path- -
Migriere K8sApp-Label auf Annotation:
kubectl annotate ingress my-ingress polycrate_k8sapp_name=my-app kubectl label ingress my-ingress k8sapps.polycrate.io/name-
polycrate-operator Block
Der polycrate-operator Block wurde auf Version 0.4.0 aktualisiert (app_version: 0.38.0):
polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-operator
polycrate run polycrate-operator install
Jetzt aktualisieren
polycrate update 0.38.0
Oder laden Sie die Binaries direkt vom PolyHub herunter.