Polycrate CLI 0.29.10¶
Datum: 20. Januar 2026
Typ: Feature & Security Release
Highlights¶
- 🔒 Kubernetes Security Hardening: Operator-Image nach NIST SP 800-190, CIS Benchmark und NSA/CISA Guidelines gehärtet
- 🌐 DNS-Validierung: Endpoint Discovery filtert nicht-auflösbare Hostnames automatisch
- 🔧 Certificate/Backup Fix: Namen werden korrekt an API übermittelt (keine "Unnamed" Einträge mehr)
- ⚡ polycrate init: Neuer Alias für
polycrate workspace init - 🔄 API-Kompatibilität: Schema-Updates für Organizations/Workspaces UUID-Arrays (API 0.11.21+)
Neue Features¶
Kubernetes Security Hardening¶
Das Polycrate Operator-Image wurde nach gängigen Sicherheitsstandards gehärtet:
Rootless-Image (Default):
Security Features:
| Feature | Standard |
|---|---|
| Non-root User (UID 1000) | NIST SP 800-190 §4.4.1, CIS 5.2.6 |
readOnlyRootFilesystem: true | NIST SP 800-190 §4.4.2 |
allowPrivilegeEscalation: false | CIS Benchmark 5.2.7 |
capabilities.drop: [ALL] | NIST SP 800-190 §4.4.3, CIS 5.2.8 |
seccompProfile: RuntimeDefault | NSA/CISA Hardening |
| NetworkPolicy Ingress/Egress | NIST SP 800-190 §4.6.1, CIS 5.3.2 |
Neue Block-Konfiguration:
blocks:
- name: polycrate-operator
config:
security:
enabled: true # Default: true
run_as_non_root: true # UID 1000
read_only_root_filesystem: true
drop_capabilities: true
network_policy:
enabled: true
Opt-out (falls nötig):
config:
image_tag_suffix: "" # Standard-Image statt rootless
security:
enabled: false # Deaktiviert SecurityContext
→ Operator Security Dokumentation
polycrate init Alias¶
Neuer Kurzbefehl für die Workspace-Initialisierung:
# Vorher
polycrate workspace init --with-name my-project
# Nachher (identische Funktionalität)
polycrate init --with-name my-project
Verfügbare Flags:
--with-name Name des Workspaces
--with-organization Organisation des Workspaces
--with-ssh-keys SSH-Keys erstellen (default: true)
--with-config Config-Datei erstellen (default: true)
DNS-Validierung für Endpoint Discovery¶
Der Operator validiert jetzt Hostnames per DNS-Lookup bevor sie als Endpoints an die API gemeldet werden:
Effekt: - Wildcard-Hostnames (*.example.com) werden automatisch übersprungen - Nicht-auflösbare Hostnames werden ignoriert - Konsistentes Verhalten zwischen API und Operator
Performance: - TTL-basiertes DNS-Caching (5 Minuten) - Minimaler Overhead durch Cache-Hits
→ Endpoint Discovery Dokumentation
Bugfixes¶
Certificate/Backup Name Validation¶
Zertifikate und Backups wurden im UI als "Unnamed" angezeigt, weil der Operator den Namen nicht korrekt an die API übermittelte.
Root Cause: - Operator sendete name nur in metadata, nicht als Top-Level Request-Feld - API (0.11.16+) erwartet name als Pflichtfeld
Fix: - buildCertificateRequest() und buildBackupRequest() senden jetzt name als Top-Level Feld - Korrespondiert mit API-Fix in polycrate-api 0.11.16
API Schema Kompatibilität¶
Die Filter Organizations und Workspaces wurden von String auf UUID-Array aktualisiert (API 0.11.21+):
polycrate-operator Block¶
Der polycrate-operator Block wurde auf Version 0.3.17 aktualisiert:
polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-operator
polycrate run polycrate-operator install
Änderungen: - SECURITY: Kubernetes Security Hardening (Rootless-Image, SecurityContext, NetworkPolicy) - Konfigurierbare parallele Reconciles (max_concurrent_reconciles: 4) - Neue security Config-Section für granulare Konfiguration
Artefakte¶
Docker Images¶
# Standard-Image
docker pull cargo.ayedo.cloud/library/polycrate:0.29.10
# Rootless-Image (empfohlen für Operator)
docker pull cargo.ayedo.cloud/library/polycrate:0.29.10-rootless
CLI Downloads¶
| Plattform | Architektur | Download |
|---|---|---|
| Linux | amd64 | Download |
| Linux | arm64 | Download |
| macOS | amd64 | Download |
| macOS | arm64 | Download |
Installation & Update¶
Abhängigkeiten¶
- polycrate-api 0.11.21+: Erforderlich für Organizations/Workspaces UUID-Array Filter
- polycrate-api 0.11.16+: Erforderlich für Certificate/Backup Name Validation