Using rosters
Salt was originally designed to operate without the traditional database that many of its forefathers used to store remote system configuration. As its message bus could retrieve information directly from remote machines, often faster than a database lookup, the need for a database was minimalized.
As Minions connect to the Master, and not the other way around, in a traditional Salt infrastructure, the Master did not even have a need to store the network and host configuration for the Minions. The game changes when dealing with SSH-based connections because the Master necessarily connects to its minions via SSH.
Rosters were introduced as a means for Salt SSH to keep track of the host information. The default roster, which uses flat text files, is enough to get the job done. More dynamic rosters add vast depths of power.
The flat roster
As its name suggests, this roster uses a flat file. This is normally stored as /etc/salt/roster
), but can be changed with the –roster-file...