Zum Inhalt

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.

Migration erforderlich für bestehende Setups

Der neue Standard-Modus ist annotation (opt-in). Bestehende Ingresses ohne polycrate_endpoint_monitor=true werden nicht mehr automatisch überwacht. Setze entweder mode: auto in der OperatorConfig für das Legacy-Verhalten, oder annotiere alle zu überwachenden Ingresses explizit.

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

Installationsanleitung

Ä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)

  1. Annotiere alle Ingresses, die überwacht werden sollen:

    kubectl annotate ingress my-ingress polycrate_endpoint_monitor=true
    

  2. Annotiere Ingresses, die explizit ignoriert werden sollen (war zuvor opt-out):

    # Nicht nötig — im annotation-Mode werden nicht annotierte Ingresses automatisch ignoriert
    

  3. Migriere endpoints.polycrate.io/* Annotationen auf polycrate_*:

    # Beispiel: path
    kubectl annotate ingress my-ingress polycrate_endpoint_path=/api/health
    kubectl annotate ingress my-ingress endpoints.polycrate.io/path-
    

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