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 6.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  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. .. code-block:: yaml
  18. salt:
  19. api:
  20. enabled: true
  21. ssl:
  22. engine: salt
  23. bind:
  24. address: 0.0.0.0
  25. port: 8000
  26. Salt master with defined user ACLs
  27. .. code-block:: yaml
  28. salt:
  29. master:
  30. user:
  31. peter:
  32. permissions:
  33. - 'fs.fs'
  34. - 'fs.\*'
  35. Salt master with preset minions
  36. .. code-block:: yaml
  37. salt:
  38. master:
  39. enabled: true
  40. ...
  41. minions:
  42. - name: 'node1.system.location.domain.com'
  43. Salt master with alternative installation source and version (optional) - pip
  44. .. code-block:: yaml
  45. salt:
  46. master:
  47. enabled: true
  48. ...
  49. source:
  50. engine: pip
  51. version: 2016.3.0rc2
  52. Salt master with specified formula to install through apt-get
  53. .. code-block:: yaml
  54. salt:
  55. master:
  56. enabled: true
  57. ...
  58. environment:
  59. prd:
  60. keysone:
  61. source: pkg
  62. name: salt-formula-keystone
  63. Clone master branch of keystone formula as local feature branch
  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: git@github.com:openstack/salt-formula-keystone.git
  75. revision: master
  76. branch: feature
  77. Salt master with specified formula refs (for example for Gerrit review)
  78. .. code-block:: yaml
  79. salt:
  80. master:
  81. enabled: true
  82. ...
  83. environment:
  84. dev:
  85. formula:
  86. keystone:
  87. source: git
  88. address: https://git.openstack.org/openstack/salt-formula-keystone
  89. revision: refs/changes/56/123456/1
  90. Salt master syndicate master of masters
  91. .. code-block:: yaml
  92. salt:
  93. master:
  94. enabled: true
  95. ...
  96. syndic:
  97. mode: master
  98. Salt master syndicate (client) master
  99. .. code-block:: yaml
  100. salt:
  101. master:
  102. enabled: true
  103. ...
  104. syndicate:
  105. mode: client
  106. host: master-master
  107. Salt master with custom handlers
  108. .. code-block:: yaml
  109. salt:
  110. master:
  111. enabled: true
  112. handler:
  113. handler01:
  114. engine: udp
  115. bind:
  116. host: 127.0.0.1
  117. port: 9999
  118. minion:
  119. handler:
  120. handler01:
  121. engine: udp
  122. bind:
  123. host: 127.0.0.1
  124. port: 9999
  125. handler02:
  126. engine: zmq
  127. bind:
  128. host: 127.0.0.1
  129. port: 9999
  130. Salt master peer for remote certificate sign.
  131. .. code-block:: yaml
  132. salt:
  133. master:
  134. peer:
  135. ".*":
  136. - x509.sign_remote_certificate
  137. Salt minion
  138. -----------
  139. Simplest Salt minion setup with central configuration node
  140. .. code-block:: yaml
  141. .. literalinclude:: tests/pillar/minion_master.sls
  142. :language: yaml
  143. Multi-master Salt minion setup
  144. .. literalinclude:: tests/pillar/minion_multi_master.sls
  145. :language: yaml
  146. Salt minion with salt mine options
  147. .. literalinclude:: tests/pillar/minion_mine.sls
  148. :language: yaml
  149. Salt minion with graphing dependencies
  150. .. literalinclude:: tests/pillar/minion_graph.sls
  151. :language: yaml
  152. Salt minion with PKI CA
  153. .. literalinclude:: tests/pillar/minion_pki_ca.sls
  154. :language: yaml
  155. Salt minion with PKI certificate
  156. .. literalinclude:: tests/pillar/minion_pki_cert.sls
  157. :language: yaml
  158. Salt control (cloud/kvm/docker)
  159. -------------------------------
  160. Salt cloud with local OpenStack provider
  161. .. literalinclude:: tests/pillar/control_cloud_openstack.sls
  162. :language: yaml
  163. Salt cloud with Digital Ocean provider
  164. .. literalinclude:: tests/pillar/control_cloud_digitalocean.sls
  165. :language: yaml
  166. Salt virt KVM cluster
  167. .. literalinclude:: tests/pillar/control_virt.sls
  168. :language: yaml
  169. Usage
  170. =====
  171. Working with salt-cloud
  172. .. code-block:: bash
  173. salt-cloud -m /path/to/map --assume-yes
  174. Debug LIBCLOUD for salt-cloud connection
  175. .. code-block:: bash
  176. export LIBCLOUD_DEBUG=/dev/stderr; salt-cloud --list-sizes provider_name --log-level all
  177. Read more
  178. =========
  179. * http://salt.readthedocs.org/en/latest/
  180. * https://github.com/DanielBryan/salt-state-graph
  181. * http://karlgrz.com/testing-salt-states-rapidly-with-docker/
  182. * https://mywushublog.com/2013/03/configuration-management-with-salt-stack/
  183. * http://russell.ballestrini.net/replace-the-nagios-scheduler-and-nrpe-with-salt-stack/
  184. * https://github.com/saltstack-formulas/salt-formula
  185. * http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
  186. salt-cloud
  187. ----------
  188. * http://www.blog.sandro-mathys.ch/2013/07/setting-user-password-when-launching.html
  189. * http://cloudinit.readthedocs.org/en/latest/topics/examples.html
  190. * http://salt-cloud.readthedocs.org/en/latest/topics/install/index.html
  191. * http://docs.saltstack.com/topics/cloud/digitalocean.html
  192. * http://salt-cloud.readthedocs.org/en/latest/topics/rackspace.html
  193. * http://salt-cloud.readthedocs.org/en/latest/topics/map.html
  194. * http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
  195. salt-virt
  196. ---------
  197. Sample pillar
  198. .. code-block:: yaml
  199. salt:
  200. control:
  201. enabled: True
  202. virt_enabled: True
  203. size:
  204. medium:
  205. cpu: 2
  206. ram: 1024
  207. cluster:
  208. localnode:
  209. domain: domain.com
  210. engine: virt
  211. config:
  212. engine: salt
  213. host: 127.0.0.1
  214. node:
  215. ubuntu01:
  216. provider: node001.domain.com
  217. image: ubuntu-14-04-x64-1456128611.qcow2
  218. size: medium
  219. disk_profile: database
  220. net_profile: testing