**Salt** (SaltStack) is an event-driven, remote execution and configuration management system designed for real-time, reactive operations at massive scale. Where [[Ansible]] is great for sequential configuration runs, Salt is built for situations where you need 10,000 nodes to respond to a change event in under a second. --- ### First Principle: At hyperscaler scale, configuration management must be reactive and asynchronous — not sequential and blocking. Salt's architecture is built around a pub/sub message bus (ZeroMQ). A command sent to the Salt Master is broadcast to all matching Minions simultaneously — not run host-by-host. A fleet of 50,000 nodes can all apply a config change in parallel within seconds. --- ### Key Considerations - **Master/Minion Architecture**: Salt Master publishes commands; Salt Minions subscribe and execute. The Minion agent runs as a daemon on every managed node, maintaining a persistent connection to the Master. - **Event Bus (Reactor)**: Salt's Reactor system triggers automation based on events — a disk filling up, a new node coming online, a [[Prometheus]] alert. This is the key differentiator from [[Ansible]]: Salt can react, not just run. - **Salt States (SLS)**: State files (`.sls`) declare desired system configuration in YAML+Jinja2. Like [[Ansible]] playbooks but with stronger state-based ordering and dependency management. - **Grains & Pillars**: Grains are facts about a minion (OS, CPU, hostname). Pillars are secure data fed from the master (secrets, per-role config). Together they enable highly conditional, data-driven automation. - **vs [[Ansible]]**: Ansible is easier to learn and has a larger community. Salt is faster, more scalable, and more powerful for event-driven automation at genuine hyperscaler scale. --- ### How It Fits ``` Events (disk full, node online, alert from [[Prometheus]]) → Salt Reactor (triggers automated response) → Salt States (applies configuration to affected nodes) → [[Ansible]] (used for complex multi-host workflows) ``` [[Ansible]] | [[OpenTofu]] | [[Prometheus]] | [[Open Source Hyperscaler MoC]]