Soul Stack
Soul Stack is an infrastructure configuration management system. A central server describes the desired state of hosts declaratively, and agents bring hosts to that state. In purpose it belongs to the same family as traditional tools — push-over-SSH and agent+master — but it is built around a few principles:
- A complete platform, not a pile of scripts. A web UI, LDAP/OIDC sign-in, RBAC, an audit log, an API and an MCP server, certificate rotation, HashiCorp Vault integration — all built into the core. This set is usually assembled from 5–7 separate tools.
- Security first. The transport between the server and agents is gRPC over mTLS. Secrets are masked on output and never hit logs in the clear.
- A type-safe template engine. Expressions in YAML are CEL (Common Expression Language); files render through Go
text/templatein strict mode. No arbitrary code execution in templates. - Two delivery models. Pull (an agent daemon connects to the server) and push (delivery over SSH to an agentless host) — with the same set of modules.
- One Go binary on the managed host. The
soulagent is a static binary: no Python, Ruby or interpreter required. Less on the host means less drift and less attack surface.
Where to start
Section titled “Where to start”The vocabulary in two lines
Section titled “The vocabulary in two lines”Soul Stack uses a soulful metaphor in its entity names. The roles behind them are the familiar ones from master/agent systems:
| Soul Stack | What it is |
|---|---|
| Keeper | The central server. |
| Souls | Agents on managed hosts. |
| Destiny | A host’s desired state. |
| Soulprint | Facts about the host system. |
| Essence | Parameters and secrets for a host. |
More in Concepts.
License
Section titled “License”The Soul Stack core is distributed under the Business Source License 1.1 (fair-code): the source is open and available, and every release automatically becomes Apache 2.0 after two years. The SDK and plugins are Apache 2.0. The exact terms are in the license — see Licensing.