
Automatisierung muss wieder beherrschbar werden. Mit Polycrate bauen wir bei ayedo ein Framework, das Ordnung ins Chaos komplexer IT-Infrastrukturen bringt – modular, wiederverwendbar und vollständig automatisierbar.
In diesem Beitrag zeigen wir, wie Polycrate funktioniert, wie man es produktiv einsetzt und warum wir glauben: "Modular Infrastructure as Code" ist das nächste Level von GitOps.
Was ist Polycrate?
Polycrate ist ein leichtgewichtiges Framework zur Paketierung, Integration und Automatisierung von IT- und Cloud-Infrastruktur. Es verbindet:
- Infrastructure as Code (z. B. Ansible)
- DevOps-Tooling (Docker, Kubernetes)
- Strukturiertes Wissensmanagement (über deklarative Metadaten und modulare Blocks)
Die Architektur von Polycrate basiert auf einem simplen Prinzip: Paketiere alles, was ein System zum Laufen bringt – in Blocks – und definiere mit Actions, wie es betrieben wird.
Konzept: Blocks & Actions
🔹 Blocks
Ein Block ist eine in sich geschlossene Einheit, die alle notwendigen Ressourcen für ein System oder Tool bündelt:
- Konfigurationsdateien
- Abhängigkeiten
- Dokumentation
- Installations- und Wartungslogik
Beispiel: Ein
nextcloud-Block enthält alles, was nötig ist, um Nextcloud auf Kubernetes oder via Docker aufzusetzen.
🔸 Actions
Actions sind ausführbare Workflows innerhalb eines Blocks. Sie definieren klar, was getan werden soll – z. B. install, update, backup, destroy.
Actions werden in einem Docker-Container ausgeführt, der bereits mit gängigen Tools wie
kubectl,helm,ansible,jqu. v. m. ausgestattet ist.
Technischer Stack
| Komponente | Technologie / Format |
|---|---|
| Runtime | Docker-Container mit Tool-Toolchain |
| CLI | polycrate Binary (Go-basiert) |
| Configuration | YAML + Template Engine |
| Execution Logic | Ansible bevorzugt, Bash optional |
| Integration | GitLab, Git, Kubernetes, Docker |
| Registry / Hub | hub.polycrate.io |
Installation: Drei Wege zur CLI
1. Automatischer Installer (empfohlen)
Erkennt Plattform & Architektur automatisch (Linux, macOS, Intel & ARM).
curl https://raw.githubusercontent.com/polycrate/polycrate/main/get-polycrate.sh | bash
polycrate version
2. Docker-basiert Installer (Linux only)
export VERSION="0.22.1"
export BIN_DIR="${PWD}"
export PLATFORM="linux/amd64"
docker run --platform "${PLATFORM}" --rm -v "${BIN_DIR}":/bin_dir \
--entrypoint "/bin/sh" cargo.ayedo.cloud/library/polycrate:${VERSION} \
-c "cp /usr/local/bin/polycrate /bin_dir/."
Nach dem Kopieren der Binary:
$BIN_DIR/polycrate version
3. Manueller Download
Plattform-spezifisch via Polycrate Hub:
export VERSION="0.22.1"
curl -fsSLo polycrate.tar.gz https://hub.polycrate.io/get/polycrate/${VERSION}/linux_amd64/polycrate_${VERSION}_linux_amd64.tar.gz
tar xvzf polycrate.tar.gz
chmod +x polycrate
./polycrate version
(entsprechend für arm64, darwin_amd64, darwin_arm64 etc.)
Voraussetzungen
Polycrate benötigt:
- Docker (zur Ausführung der Actions)
- Optional: git (für Versionsmanagement & Cloning)
Die CLI ist plattformunabhängig, läuft containerisiert und isoliert.
Einsatzszenarien in der Praxis
| Anwendungsfall | Beispiel |
|---|---|
| Self-Service-Deployments | polycrate run install für Entwickler |
| DevOps-Onboarding | Einheitliche Setup-Logik in Actions |
| Kubernetes-Toolchain Provisioning | Automatisiert Helm + CRDs + Secrets |
| Multi-Environment Deployments | dev, staging, prod via Context |
| Reproduzierbare Systeminstallationen | Air-gapped oder compliance-kritisch |
Warum Polycrate?
- ✅ Modularisierung durch Design: Jedes System ist ein Block – dokumentiert, wiederverwendbar, versionierbar.
- ✅ Deklarativ & auditierbar: Keine Blackbox: Jede Action ist lesbar, versioniert und nachvollziehbar.
- ✅ Toolchain eingebaut: Du brauchst keine lokale Tool-Installation – Polycrate bringt sie mit.
- ✅ Developer-freundlich: CLI-basiert, einfaches Onboarding, kein Overhead durch YAML-Monster.
Fazit: Infrastruktur, die wie Code behandelt wird – aber modular
Polycrate ist für uns kein weiteres Tool – es ist der Rahmen, in dem sich alle anderen Tools geordnet, dokumentiert und reproduzierbar bewegen.
Wer ernsthaft Infrastructure as Code betreiben will, muss auch das Lifecycle-Management der Systeme automatisieren – genau da setzt Polycrate an.
Mehr erfahren? •
- GitHub: polycrate/polycrate
- Polycrate Hub: hub.polycrate.io
- Beispiel-Blocks & Demos: Auf Anfrage oder via Community
Und jetzt?
In Kürze veröffentlichen wir eine Step-by-Step-Serie, in der wir zeigen:
- Wie wir mit Polycrate komplette Plattform-Stacks provisionieren
- Wie Self-Service für Dev-Teams aussieht
- Und wie Polycrate mit GitOps & Secrets-Management zusammenspielt
Fragen? Interesse an einem Walkthrough? Dann meldet euch – oder schaut in unser Hub rein.