
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.
What is Polycrate?
Polycrate is a lightweight framework for packaging, integrating, and automating IT and cloud infrastructure. It combines:
- Infrastructure as Code (e.g., Ansible)
- DevOps tooling (Docker, Kubernetes)
- Structured knowledge management (via declarative metadata and modular blocks)
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.
Concept: Blocks & Actions
🔹 Blocks
A Block is a self-contained unit that bundles all necessary resources for a system or tool:
- Configuration files
- Dependencies
- Documentation
- Installation and maintenance logic
Example: A
nextcloudBlock contains everything needed to set up Nextcloud on Kubernetes or via Docker.
🔸 Actions
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.
Technical Stack
| 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 |
Installation: Three Ways to the CLI
1. Automatic Installer (recommended)
Automatically detects platform & architecture (Linux, macOS, Intel & ARM).
curl https://raw.githubusercontent.com/polycrate/polycrate/main/get-polycrate.sh | bash
polycrate version
2. Docker-based 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/."
After copying the binary:
$BIN_DIR/polycrate version
3. Manual Download
Platform-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.)
Prerequisites
Polycrate requires:
- Docker (for executing Actions)
- Optional: git (for version management & cloning)
The CLI is platform-independent, running containerized and isolated.
Practical Use Cases
| 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 |
Why Polycrate?
- ✅ Modularization by Design: Every system is a Block—documented, reusable, versionable.
- ✅ Declarative & Auditable: No black box: Every Action is readable, versioned, and traceable.
- ✅ Toolchain Built-In: No need for local tool installation—Polycrate brings it along.
- ✅ Developer-Friendly: CLI-based, easy onboarding, no overhead from YAML monsters.
Conclusion: Infrastructure Treated Like Code—but Modular
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.
Learn More? •
- GitHub: polycrate/polycrate
- Polycrate Hub: hub.polycrate.io
- Example Blocks & Demos: On request or via the community
What's Next?
We will soon publish a step-by-step series showing:
- How we provision complete platform stacks with Polycrate
- What self-service for dev teams looks like
- And how Polycrate interacts with GitOps & Secrets Management
Questions? Interested in a walkthrough? Get in touch—or check out our Hub.