Graveyard Provisioning / Automation & Configuration

Technology Guide

Salt

License: Apache-2.0

Salt Logo

Field Guide

Complete Guide

Salt (formerly SaltStack) is a Python-based configuration management and remote execution system created by Thomas S. Hatch in 2011. It targets the same space as Ansible, Puppet, and Chef but differs in being designed around a persistent pub/sub bus for low-latency command execution across tens of thousands of nodes.

A typical Salt deployment has a central salt-master and salt-minion agents on each managed host connected over ZeroMQ (or the newer RAET/TCP transports). Commands issued on the master are published on a bus and executed in parallel by every matching minion, with results streamed back, which makes ad-hoc operations like “run this command on every web server tagged production” near-instantaneous. Desired state is expressed in States, written as YAML files rendered through the Jinja templating engine and organized into SLS (SaLt State) formulas. A parallel data layer called Pillar provides per-minion secrets and variables, while Grains expose static facts gathered from each host.

Beyond agent-based operation, Salt also supports agentless SSH via salt-ssh, cloud provisioning via salt-cloud, and a Reactor system that turns events on the bus into automated responses, which is the basis for its event-driven infrastructure story. Salt is Apache-2.0 licensed and maintained by VMware (now Broadcom) after the 2020 SaltStack acquisition.

No articles found for Salt yet. Check back soon!