New Saltstack Salt formula
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.rst 8.4KB

9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. ====
  2. Salt
  3. ====
  4. Salt is a new approach to infrastructure management. Easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with them in seconds.
  5. Salt delivers a dynamic communication bus for infrastructures that can be used for orchestration, remote execution, configuration management and much more.
  6. Sample pillars
  7. ==============
  8. Salt master
  9. -----------
  10. Salt master with base production environment and pillar tree as metadata backend
  11. .. literalinclude:: tests/pillar/master_single_pillar.sls
  12. :language: yaml
  13. Salt master with reclass ENC as metadata backend
  14. .. literalinclude:: tests/pillar/master_single_reclass.sls
  15. :language: yaml
  16. Salt master with API
  17. .. literalinclude:: tests/pillar/master_api.sls
  18. :language: yaml
  19. Salt master with defined user ACLs
  20. .. literalinclude:: tests/pillar/master_acl.sls
  21. :language: yaml
  22. Salt master with preset minions
  23. .. code-block:: yaml
  24. salt:
  25. master:
  26. enabled: true
  27. minions:
  28. - name: 'node1.system.location.domain.com'
  29. Salt master with alternative installation source and version (optional) - pip
  30. .. code-block:: yaml
  31. salt:
  32. master:
  33. enabled: true
  34. ...
  35. source:
  36. engine: pip
  37. version: 2016.3.0rc2
  38. Salt master with specified formula to install through apt-get
  39. .. code-block:: yaml
  40. salt:
  41. master:
  42. enabled: true
  43. ...
  44. environment:
  45. prd:
  46. keysone:
  47. source: pkg
  48. name: salt-formula-keystone
  49. Clone master branch of keystone formula as local feature branch
  50. .. code-block:: yaml
  51. salt:
  52. master:
  53. enabled: true
  54. ...
  55. environment:
  56. dev:
  57. formula:
  58. keystone:
  59. source: git
  60. address: git@github.com:openstack/salt-formula-keystone.git
  61. revision: master
  62. branch: feature
  63. Salt master with specified formula refs (for example for Gerrit review)
  64. .. code-block:: yaml
  65. salt:
  66. master:
  67. enabled: true
  68. ...
  69. environment:
  70. dev:
  71. formula:
  72. keystone:
  73. source: git
  74. address: https://git.openstack.org/openstack/salt-formula-keystone
  75. revision: refs/changes/56/123456/1
  76. Salt syndic: Master of masters
  77. .. code-block:: yaml
  78. salt:
  79. master:
  80. enabled: true
  81. order_masters: True
  82. Salt syndic: Lower master
  83. .. code-block:: yaml
  84. salt:
  85. syndic:
  86. enabled: true
  87. master:
  88. host: master-of-master-host
  89. timeout: 5
  90. Salt syndic: Lower master with multi-master of masters
  91. .. code-block:: yaml
  92. salt:
  93. syndic:
  94. enabled: true
  95. masters:
  96. - host: master-of-master-host1
  97. - host: master-of-master-host2
  98. timeout: 5
  99. Salt master with custom handlers
  100. .. code-block:: yaml
  101. salt:
  102. master:
  103. enabled: true
  104. handler:
  105. handler01:
  106. engine: udp
  107. bind:
  108. host: 127.0.0.1
  109. port: 9999
  110. minion:
  111. handler:
  112. handler01:
  113. engine: udp
  114. bind:
  115. host: 127.0.0.1
  116. port: 9999
  117. handler02:
  118. engine: zmq
  119. bind:
  120. host: 127.0.0.1
  121. port: 9999
  122. Salt master peer for remote certificate sign.
  123. .. code-block:: yaml
  124. salt:
  125. master:
  126. peer:
  127. ".*":
  128. - x509.sign_remote_certificate
  129. Configure verbosity of state output (used for `salt` command)
  130. .. code-block:: yaml
  131. salt:
  132. master:
  133. state_output: terse
  134. Salt proxy
  135. ----------
  136. Salt proxy pillar
  137. .. code-block:: yaml
  138. salt:
  139. minion:
  140. proxy:
  141. master: localhost
  142. device:
  143. vsrx01.mydomain.local:
  144. enabled: true
  145. engine: napalm
  146. csr1000v.mydomain.local:
  147. enabled: true
  148. engine: napalm
  149. .. note:: This is pillar of the the real salt-minion
  150. Proxy pillar for IOS device
  151. .. code-block:: yaml
  152. proxy:
  153. proxytype: napalm
  154. driver: ios
  155. host: csr1000v.mydomain.local
  156. username: root
  157. passwd: r00tme
  158. .. note:: This is pillar of the node thats not able to run salt-minion itself
  159. Proxy pillar for JunOS device
  160. .. code-block:: yaml
  161. proxy:
  162. proxytype: napalm
  163. driver: junos
  164. host: vsrx01.mydomain.local
  165. username: root
  166. passwd: r00tme
  167. optional_args:
  168. config_format: set
  169. .. note:: This is pillar of the node thats not able to run salt-minion itself
  170. Salt SSH
  171. --------
  172. Salt SSH with sudoer using key
  173. .. literalinclude:: tests/pillar/master_ssh_minion_key.sls
  174. :language: yaml
  175. Salt SSH with sudoer using password
  176. .. literalinclude:: tests/pillar/master_ssh_minion_password.sls
  177. :language: yaml
  178. Salt SSH with root using password
  179. .. literalinclude:: tests/pillar/master_ssh_minion_root.sls
  180. :language: yaml
  181. Salt minion
  182. -----------
  183. Simplest Salt minion setup with central configuration node
  184. .. code-block:: yaml
  185. .. literalinclude:: tests/pillar/minion_master.sls
  186. :language: yaml
  187. Multi-master Salt minion setup
  188. .. literalinclude:: tests/pillar/minion_multi_master.sls
  189. :language: yaml
  190. Salt minion with salt mine options
  191. .. literalinclude:: tests/pillar/minion_mine.sls
  192. :language: yaml
  193. Salt minion with graphing dependencies
  194. .. literalinclude:: tests/pillar/minion_graph.sls
  195. :language: yaml
  196. Salt minion behind http proxy
  197. .. code-block:: yaml
  198. salt:
  199. minion:
  200. proxy:
  201. host: 127.0.0.1
  202. port: 3128
  203. PKI CA
  204. ~~~~~~
  205. Salt minion with PKI CA
  206. .. literalinclude:: tests/pillar/minion_pki_ca.sls
  207. :language: yaml
  208. Salt minion with PKI certificate
  209. .. literalinclude:: tests/pillar/minion_pki_cert.sls
  210. :language: yaml
  211. Salt control (cloud/kvm/docker)
  212. -------------------------------
  213. Salt cloud with local OpenStack provider
  214. .. literalinclude:: tests/pillar/control_cloud_openstack.sls
  215. :language: yaml
  216. Salt cloud with Digital Ocean provider
  217. .. literalinclude:: tests/pillar/control_cloud_digitalocean.sls
  218. :language: yaml
  219. Salt virt with KVM cluster
  220. .. literalinclude:: tests/pillar/control_virt.sls
  221. :language: yaml
  222. Usage
  223. =====
  224. Working with salt-cloud
  225. .. code-block:: bash
  226. salt-cloud -m /path/to/map --assume-yes
  227. Debug LIBCLOUD for salt-cloud connection
  228. .. code-block:: bash
  229. export LIBCLOUD_DEBUG=/dev/stderr; salt-cloud --list-sizes provider_name --log-level all
  230. Read more
  231. =========
  232. * http://salt.readthedocs.org/en/latest/
  233. * https://github.com/DanielBryan/salt-state-graph
  234. * http://karlgrz.com/testing-salt-states-rapidly-with-docker/
  235. * https://mywushublog.com/2013/03/configuration-management-with-salt-stack/
  236. * http://russell.ballestrini.net/replace-the-nagios-scheduler-and-nrpe-with-salt-stack/
  237. * https://github.com/saltstack-formulas/salt-formula
  238. * http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
  239. salt-cloud
  240. ----------
  241. * http://www.blog.sandro-mathys.ch/2013/07/setting-user-password-when-launching.html
  242. * http://cloudinit.readthedocs.org/en/latest/topics/examples.html
  243. * http://salt-cloud.readthedocs.org/en/latest/topics/install/index.html
  244. * http://docs.saltstack.com/topics/cloud/digitalocean.html
  245. * http://salt-cloud.readthedocs.org/en/latest/topics/rackspace.html
  246. * http://salt-cloud.readthedocs.org/en/latest/topics/map.html
  247. * http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
  248. Documentation and Bugs
  249. ======================
  250. To learn how to install and update salt-formulas, consult the documentation
  251. available online at:
  252. http://salt-formulas.readthedocs.io/
  253. In the unfortunate event that bugs are discovered, they should be reported to
  254. the appropriate issue tracker. Use Github issue tracker for specific salt
  255. formula:
  256. https://github.com/salt-formulas/salt-formula-salt/issues
  257. For feature requests, bug reports or blueprints affecting entire ecosystem,
  258. use Launchpad salt-formulas project:
  259. https://launchpad.net/salt-formulas
  260. You can also join salt-formulas-users team and subscribe to mailing list:
  261. https://launchpad.net/~salt-formulas-users
  262. Developers wishing to work on the salt-formulas projects should always base
  263. their work on master branch and submit pull request against specific formula.
  264. https://github.com/salt-formulas/salt-formula-salt
  265. Any questions or feedback is always welcome so feel free to join our IRC
  266. channel:
  267. #salt-formulas @ irc.freenode.net