Salt Documentation Release 2014.7.6
Total Page:16
File Type:pdf, Size:1020Kb
Salt Documentation Release 2014.7.6 SaltStack, Inc. May 19, 2015 Contents 1 Introduction to Salt 1 1.1 e 30 second summary ........................................... 1 1.2 Simplicity ................................................... 1 1.3 Parallel execution ............................................... 1 1.4 Building on proven technology ....................................... 2 1.5 Python client interface ............................................ 2 1.6 Fast, flexible, scalable ............................................. 2 1.7 Open ...................................................... 2 1.8 Salt Community ................................................ 2 1.9 Mailing List .................................................. 2 1.10 IRC ....................................................... 3 1.11 Follow on Github ............................................... 3 1.12 Blogs ...................................................... 3 1.13 Example Salt States .............................................. 3 1.14 Follow on ohloh ................................................ 3 1.15 Other community links ............................................ 4 1.16 Hack the Source ................................................ 4 2 Installation 5 2.1 ick Install .................................................. 5 2.2 Platform-specific Installation Instructions ................................. 5 2.3 Dependencies ................................................. 26 2.4 Optional Dependencies ............................................ 27 2.5 Upgrading Salt ................................................ 27 3 Tutorials 29 3.1 Introduction .................................................. 29 3.2 Basics ..................................................... 31 3.3 States ..................................................... 44 3.4 Advanced Topics ............................................... 71 3.5 Salt Virt .................................................... 111 3.6 Halite ..................................................... 115 3.7 Using Salt at scale ............................................... 118 4 Targeting Minions 123 4.1 Matching the minion id ......................................... 123 4.2 Grains ..................................................... 124 4.3 Subnet/IP Address Matching ......................................... 127 i 4.4 Compound matchers ............................................. 128 4.5 Node groups .................................................. 129 4.6 Batch Size ................................................... 129 4.7 SECO Range .................................................. 129 5 Storing Static Data in the Pillar 131 5.1 Declaring the Master Pillar ......................................... 131 5.2 Pillar namespace flaened .......................................... 132 5.3 Pillar Namespace Merges ........................................... 133 5.4 Including Other Pillars ............................................ 134 5.5 Viewing Minion Pillar ............................................ 134 5.6 Pillar ``get'' Function ............................................. 134 5.7 Refreshing Pillar Data ............................................ 135 5.8 Targeting with Pillar ............................................. 135 5.9 Set Pillar Data at the Command Line .................................... 135 5.10 Master Config In Pillar ............................................ 135 6 Reactor System 137 6.1 Event System ................................................. 137 6.2 Mapping Events to Reactor SLS Files .................................... 137 6.3 Fire an event ................................................. 138 6.4 Knowing what event is being fired ..................................... 138 6.5 Debugging the Reactor ............................................ 139 6.6 Understanding the Structure of Reactor Formulas ............................. 139 6.7 A Complete Example ............................................. 142 6.8 Syncing Custom Types on Minion Start .................................. 143 7 e Salt Mine 145 7.1 Mine Functions ................................................ 145 7.2 Mine Interval ................................................. 146 7.3 Example .................................................... 146 8 External Authentication System 147 8.1 Access Control System ............................................ 147 8.2 Tokens ..................................................... 148 8.3 LDAP and Active Directory ......................................... 149 9 Job Management 151 9.1 e Minion proc System ........................................... 151 9.2 Functions in the saltutil Module ....................................... 151 9.3 e jobs Runner ................................................ 151 9.4 Scheduling Jobs ................................................ 152 9.5 States ..................................................... 154 9.6 Highstates ................................................... 154 9.7 Runners .................................................... 154 9.8 Scheduler With Returner ........................................... 155 10 Salt Event System 159 10.1 Event types .................................................. 159 10.2 Listening for Events ............................................. 162 10.3 Firing Events ................................................. 164 10.4 Firing Events from Python .......................................... 164 11 Salt Syndic 167 11.1 Configuring the Syndic ............................................ 167 ii 11.2 Running the Syndic .............................................. 167 11.3 Topology ................................................... 168 11.4 Syndic and the CLI .............................................. 168 12 Salt Proxy Minion Documentation 169 12.1 Geing Started ................................................ 169 12.2 e __proxyenabled__ directive ....................................... 173 13 Windows Soware Repository 175 13.1 Operation ................................................... 175 13.2 Usage ..................................................... 176 13.3 Generate Repo Cache File .......................................... 177 13.4 Install Windows Soware .......................................... 178 13.5 Uninstall Windows Soware ......................................... 178 13.6 Standalone Minion Salt Windows Repo Module .............................. 178 13.7 Git Hosted Repo ............................................... 178 13.8 Troubleshooting ............................................... 179 14 Windows-specific Behaviour 181 14.1 Group parameter for files .......................................... 181 14.2 Dealing with case-insensitive but case-preserving names ......................... 181 14.3 Dealing with various username forms ................................... 182 14.4 Specifying the None group .......................................... 182 14.5 Symbolic link loops .............................................. 182 14.6 Modifying security properties (ACLs) on files ............................... 182 15 Salt Cloud 183 15.1 Geing Started ................................................ 183 15.2 Using Salt Cloud ............................................... 183 15.3 Core Configuration .............................................. 188 15.4 Windows Configuration ........................................... 198 15.5 Cloud Provider Specifics ........................................... 199 15.6 Miscellaneous Options ............................................ 254 15.7 Troubleshooting Steps ............................................ 258 15.8 Extending Salt Cloud ............................................. 261 15.9 Using Salt Cloud from Salt .......................................... 270 15.10 Feature Comparison ............................................. 274 16 netapi modules 279 16.1 Writing netapi modules ........................................... 279 16.2 Introduction to netapi modules ....................................... 280 16.3 Client interfaces ............................................... 280 17 Salt Virt 283 17.1 Salt Virt Tutorial ............................................... 283 17.2 e Salt Virt Runner ............................................. 283 17.3 Based on Live State Data ........................................... 284 17.4 Deploy from Network or Disk ........................................ 284 18 Understanding YAML 287 18.1 Rule One: Indentation ............................................ 287 18.2 Rule Two: Colons ............................................... 287 18.3 Rule ree: Dashes .............................................. 288 18.4 Learning More ................................................ 288 iii 19 Master Tops System 289 20 Salt SSH 291 20.1 Salt SSH Roster ................................................ 291 20.2 Calling Salt SSH ................................................ 292 20.3 States Via Salt SSH .............................................. 292 20.4 Targeting with Salt SSH ........................................... 292 20.5 Configuring Salt SSH ............................................. 292 20.6 Running Salt SSH as non-root user ..................................... 293 20.7 Define CLI Options with Saltfile ....................................... 293 21 Salt Rosters 295 21.1 How Rosters Work .............................................. 295 22 Reference 297 22.1 Full list of builtin auth modules ......................................