Polycrate¶
Was ist Polycrate?¶
Polycrate ist ein Framework mit dem Sie komplexe Anwendungen und IT- oder Cloud-Infrastruktur paketieren, integrieren und automatisieren können. Mit Polycrate können Sie Tools, Abhängigkeiten und Installations-Logik für beliebige IT-Systeme, sog. Blocks, in einem gemeinsamen Workspace zusammenführen und benutzerfreundliche Actions bereitstellen, die für jedes System einen individuellen Installations- und Wartungs-Workflow ermöglichen.

Links¶
- GitHub: polycrate/polycrate
- PolyHub: hub.polycrate.io
Überblick¶
Polycrate ist ein Kommandozeilen-Tool und benötigt Docker auf dem System, auf dem es eingesetzt wird. Polycrate führt alle Actions in einem Docker Container aus, der eine Vielzahl an cloud-nativen Tools enthält, die für die Zusammenarbeit mit beliebten Zielsystemen wie Docker oder Kubernetes vorkonfiguriert sind.
Polycrate unterstützt eine Vielzahl an Implementierungen für Actions, bietet aktuell aber den besten Support für Actions die auf Ansible basieren.
Cloud Migration: Raus aus der Hyperscaler-Abhängigkeit¶
-
Von Hyperscalern zu souveräner Infrastruktur
Migrieren Sie Ihre Infrastruktur von AWS, Azure oder Google Cloud zu einer Kubernetes-nativen, standardisierten Architektur mit offenen Standards.
Polycrate ist das ideale Werkzeug für Data Act-konforme Cloud-Migration:
- ✅ Ansible-basiert: Industrie-Standard für heterogene Infrastruktur
- ✅ Kubernetes-nativ: Cloud-agnostische Ziel-Plattform
- ✅ Kostenlose Blocks: Hyperscaler-Alternativen vom PolyHub (RDS → CloudNativePG, ElastiCache → Redis, etc.)
- ✅ Provider-unabhängig: Vollständig portable Workspaces
- ✅ Data Act-konform: Offene Standards, maschinenlesbare Formate, keine Lock-ins
Architektur¶
graph TB
User[Benutzer] -->|polycrate CLI| CLI[Polycrate CLI]
CLI -->|lädt| WS[Workspace]
CLI -->|erstellt| Container[Docker Container]
WS -->|enthält| Blocks[Blocks]
WS -->|definiert| Workflows[Workflows]
WS -->|konfiguriert| Config[workspace.poly]
Container -->|führt aus| Ansible[Ansible Playbooks]
Container -->|führt aus| Kubectl[kubectl/Helm]
Container -->|führt aus| Scripts[Bash Scripts]
Container -->|führt aus| Terraform[Terraform]
Ansible -->|provisioniert| Hosts[Linux Hosts]
Kubectl -->|deployed| K8s[Kubernetes Cluster]
Terraform -->|provisioniert| Cloud[Cloud-Infrastruktur]
Scripts -->|automatisiert| Tasks[Diverse Tasks]
CLI -->|push/pull| Hub[Polycrate Hub]
CLI -->|push/pull| Registry[OCI Registry]
CLI -->|erstellt| TX[Transactions]
TX -->|logged in| Logs[.logs/]
TX -->|erzeugt| Events[Events]
Events -->|sendet an| Webhook[Webhook Endpoint]
Blocks -->|speichern| Artifacts[artifacts/]
Artifacts -->|enthält| Inventory[Ansible Inventory]
Artifacts -->|enthält| Kubeconfig[Kubeconfig] Polycrate orchestriert Infrastructure-as-Code über einen containerisierten Ansatz. Die CLI lädt einen Workspace, erstellt einen Docker-Container mit allen notwendigen Tools (Ansible, kubectl, Helm, Terraform), und führt Actions aus Blocks aus. Alle Operationen werden als Transactions geloggt und können Events generieren, die an externe Systeme gesendet werden.
Kernkonzepte¶
Blocks¶
Blocks sind modulare Einheiten in Polycrate, die Tools, Abhängigkeiten und Installations-Logik für beliebige IT-Systeme kapseln.
Workspace¶
Ein Workspace ist die gemeinsame Umgebung, in der verschiedene Blocks zusammengeführt werden.
Actions¶
Actions sind benutzerfreundliche Befehle, die für jedes System einen individuellen Installations- und Wartungs-Workflow ermöglichen.
Nächste Schritte¶
- Cloud Migration - Migration von Hyperscalern zu souveräner Infrastruktur
- Warum Polycrate? - Die Philosophie und Vorteile von Polycrate
- Erste Schritte - Installation und Setup von Polycrate
- Konfiguration - Konfiguration von Workspaces und Blocks
- Workspace-Verschlüsselung - Sichere Verschlüsselung von Secrets mit age
- PolyHub - Kostenlose Production-Ready Blocks als Hyperscaler-Alternativen
- API Referenz - Detaillierte API-Dokumentation