Toggle navigation
Table of Contents
Glossary
next
all salt modules
index
Get Started
Salt Table of Contents
ΒΆ
Introduction to Salt
The 30 second summary
Simplicity
Parallel execution
Building on proven technology
Python client interface
Fast, flexible, scalable
Open
Salt Community
Mailing List
IRC
Follow on Github
Blogs
Example Salt States
Follow on ohloh
Other community links
Hack the Source
Installation
Quick Install
Platform-specific Installation Instructions
Dependencies
Optional Dependencies
Upgrading Salt
Tutorials
Introduction
Basics
States
Advanced Topics
Salt Virt
Halite
LXC
Using Salt at scale
Targeting Minions
Matching the
minion
id
Grains
Targeting with Pillar
Subnet/IP Address Matching
Compound matchers
Node groups
Batch Size
SECO Range
Storing Static Data in the Pillar
Declaring the Master Pillar
Pillar namespace flattened
Pillar Namespace Merges
Including Other Pillars
Viewing Minion Pillar
Pillar "get" Function
Refreshing Pillar Data
Set Pillar Data at the Command Line
Master Config In Pillar
Master Provided Pillar Error
Reactor System
Event System
Mapping Events to Reactor SLS Files
Fire an event
Knowing what event is being fired
Debugging the Reactor
Understanding the Structure of Reactor Formulas
A Complete Example
Syncing Custom Types on Minion Start
The Salt Mine
Mine vs Grains
Mine Functions
Mine Interval
Mine in Salt-SSH
Example
External Authentication System
Access Control System
Tokens
OpenLDAP and similar systems
Active Directory
Access Control System
Job Management
The Minion proc System
Functions in the saltutil Module
The jobs Runner
Scheduling Jobs
States
Highstates
Runners
Scheduler With Returner
Managing the Job Cache
Default Job Cache
Additional Job Cache Options
Storing Job Results in an External System
External Job Cache - Minion-Side Returner
Master Job Cache - Master-Side Returner
Configure an External or Master Job Cache
Storing Data in Other Databases
SDB Configuration
SDB URIs
Writing SDB Modules
Salt Event System
Event types
Listening for Events
Firing Events
Firing Events from Python
Beacons
Configuring Beacons
Beacon Example
Writing Beacon Plugins
Running Custom Master Processes
Example Configuration
Example Process Class
High Availability Features in Salt
Multimaster
Multimaster with Failover
Syndic
Syndic with Multimaster
Salt Syndic
Configuring the Syndic
Configuring the Syndic with Multimaster
Running the Syndic
Topology
Syndic wait
Syndic config options
Salt Proxy Minion Documentation
Getting Started
The __proxyenabled__ directive
The RAET Transport
Using RAET in Salt
Limitations
Why?
RAET Reliability
RAET and ZeroMQ
Encryption
Programming Intro
Windows Software Repository
Operation
Usage
Generate Repo Cache File
Install Windows Software
Uninstall Windows Software
Standalone Minion Salt Windows Repo Module
Git Hosted Repo
Troubleshooting
Windows-specific Behaviour
Group parameter for files
Dealing with case-insensitive but case-preserving names
Dealing with various username forms
Specifying the None group
Symbolic link loops
Modifying security properties (ACLs) on files
Salt Cloud
Getting Started
Using Salt Cloud
Core Configuration
Windows Configuration
Cloud Provider Specifics
Miscellaneous Options
Troubleshooting Steps
Extending Salt Cloud
Using Salt Cloud from Salt
Feature Comparison
Tutorials
netapi
modules
Writing netapi modules
Introduction to netapi modules
Client interfaces
Salt Virt
Salt Virt Tutorial
The Salt Virt Runner
Based on Live State Data
Deploy from Network or Disk
Understanding YAML
Rule One: Indentation
Rule Two: Colons
Rule Three: Dashes
Learning More
Master Tops System
Salt SSH
Getting Started
Salt SSH Roster
Deploy ssh key for salt-ssh
Calling Salt SSH
States Via Salt SSH
Targeting with Salt SSH
Configuring Salt SSH
Running Salt SSH as non-root user
Define CLI Options with Saltfile
Debugging salt-ssh
Salt Rosters
How Rosters Work
Reference
Full list of builtin auth modules
Command Line Reference
Client ACL system
Python client API
Full list of Salt Cloud modules
Configuration file examples
Configuring Salt
Configuring the Salt Master
Configuring the Salt Minion
Running the Salt Master/Minion as an Unprivileged User
Logging
External Logging Handlers
Salt File Server
Full list of builtin fileserver modules
Salt code and internals
Full list of builtin execution modules
Full list of netapi modules
Full list of builtin output modules
Peer Communication
Pillars
Full list of builtin pillar modules
Renderers
Returners
Full list of builtin roster modules
Salt Runners
State Enforcement
Full list of builtin state modules
Execution Modules
Master Tops
Full list of builtin master tops modules
Full list of builtin wheel modules
Full list of builtin beacon modules
Full list of builtin sdb modules
Salt Best Practices
General rules
Structuring States and Formulas
Structuring Pillar Files
Variable Flexibility
Modularity Within States
Storing Secure Data
Hardening Salt
General hardening tips
Salt hardening tips
Troubleshooting
Troubleshooting the Salt Master
Troubleshooting the Salt Minion
Running in the Foreground
What Ports do the Master and Minion Need Open?
Using salt-call
Too many open files
Salt Master Stops Responding
Salt and SELinux
Red Hat Enterprise Linux 5
Common YAML Gotchas
Live Python Debug Output
Salt 0.16.x minions cannot communicate with a 0.17.x master
Debugging the Master and Minion
Developing Salt
Overview
Salt Client
Salt Master
Salt Minion
A Note on ClearFuncs vs. AESFuncs
Contributing
Deprecating Code
Dunder Dictionaries
External Pillars
Installing Salt for development
GitHub Labels and Milestones
Logging Internals
Modular Systems
Package Providers
Community Projects That Use Salt
Salt Topology
Translating Documentation
Running The Tests
Automated Test Runs
Writing Tests
raet
SaltStack Git Policy
Salt Conventions
Release notes
Latest Branch Release
Previous Releases
Salt Based Projects
Salt Sandbox
Security disclosure policy
Security response procedure
Receiving security announcemnts
Frequently Asked Questions
Is Salt open-core?
What ports should I open on my firewall?
I'm seeing weird behavior (including but not limited to packages not installing their users properly)
My script runs every time I run a
state.apply
. Why?
When I run
test.ping
, why don't the Minions that aren't responding return anything? Returning
False
would be helpful.
How does Salt determine the Minion's id?
I'm trying to manage packages/services but I get an error saying that the state is not available. Why?
I'm using gitfs and my custom modules/states/etc are not syncing. Why?
Why aren't my custom modules/states/etc. available on my Minions?
Module
X
isn't available, even though the shell command it uses is installed. Why?
Can I run different versions of Salt on my Master and Minion?
Does Salt support backing up managed files?
What is the best way to restart a Salt daemon using Salt?
Salting the Salt Master
Is Targeting using Grain Data Secure?
Glossary
Next
2015.5.11
2016.3.2
Develop
Introduction to Salt
Installation
Tutorials
Targeting Minions
Storing Static Data in the Pillar
Reactor System
The Salt Mine
External Authentication System
Access Control System
Job Management
Managing the Job Cache
Storing Job Results in an External System
Storing Data in Other Databases
Salt Event System
Beacons
Running Custom Master Processes
High Availability Features in Salt
Salt Syndic
Salt Proxy Minion Documentation
The RAET Transport
Windows Software Repository
Windows-specific Behaviour
Salt Cloud
netapi
modules
Salt Virt
Understanding YAML
Master Tops System
Salt SSH
Salt Rosters
Reference
Salt Best Practices
Hardening Salt
Troubleshooting
Developing Salt
Release notes
Salt Based Projects
Security disclosure policy
Frequently Asked Questions
Glossary