Polycrate-Driven Automation for Platform Independence: Focus on Declarative IaC
TL;DR Polycrate-driven automation offers cross-architecture, declarative infrastructure control …

Automation must become manageable again. At ayedo, we are building a framework with Polycrate that brings order to the chaos of complex IT infrastructures—modular, reusable, and fully automatable.
In this post, we demonstrate how Polycrate works, how to use it productively, and why we believe: “Modular Infrastructure as Code” is the next level of GitOps.
Polycrate is a lightweight framework for packaging, integrating, and automating IT and cloud infrastructure. It combines:
The architecture of Polycrate is based on a simple principle: Package everything that makes a system run—in Blocks—and define with Actions how it operates.
A Block is a self-contained unit that bundles all necessary resources for a system or tool:
Example: A
nextcloudBlock contains everything needed to set up Nextcloud on Kubernetes or via Docker.
Actions are executable workflows within a Block. They clearly define what should be done—e.g., install, update, backup, destroy.
Actions are executed in a Docker container, already equipped with common tools like
kubectl,helm,ansible,jq, and more.
| Component | Technology / Format |
|---|---|
| Runtime | Docker container with tool toolchain |
| CLI | polycrate Binary (Go-based) |
| Configuration | YAML + Template Engine |
| Execution Logic | Ansible preferred, Bash optional |
| Integration | GitLab, Git, Kubernetes, Docker |
| Registry / Hub | hub.polycrate.io |
Automatically detects platform & architecture (Linux, macOS, Intel & ARM).
curl https://raw.githubusercontent.com/polycrate/polycrate/main/get-polycrate.sh | bash
polycrate versionexport 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/."After copying the binary:
$BIN_DIR/polycrate versionPlatform-specific 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(accordingly for arm64, darwin_amd64, darwin_arm64, etc.)
Polycrate requires:
The CLI is platform-independent, running containerized and isolated.
| Use Case | Example |
|---|---|
| Self-Service Deployments | polycrate run install for developers |
| DevOps Onboarding | Unified setup logic in Actions |
| Kubernetes Toolchain Provisioning | Automated Helm + CRDs + Secrets |
| Multi-Environment Deployments | dev, staging, prod via Context |
| Reproducible System Installations | Air-gapped or compliance-critical |
Polycrate is not just another tool for us—it’s the framework in which all other tools move in an ordered, documented, and reproducible manner.
Anyone serious about Infrastructure as Code must also automate the lifecycle management of systems—this is exactly where Polycrate comes in.
We will soon publish a step-by-step series showing:
Questions? Interested in a walkthrough? Get in touch—or check out our Hub.
TL;DR Polycrate-driven automation offers cross-architecture, declarative infrastructure control …
TL;DR Polycrate automatically captures every polycrate run execution as an “Action Run” …
TL;DR Ansible can fully automate Azure Entra ID (formerly Azure AD) via the azure.azcollection: …