New version of salt-formula from Saltstack
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 8 gadiem
pirms 8 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 8 gadiem
pirms 9 gadiem
pirms 8 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 8 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 8 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
pirms 9 gadiem
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. ============
  2. Salt Formula
  3. ============
  4. Salt is a new approach to infrastructure management. Easy enough to get
  5. running in minutes, scalable enough to manage tens of thousands of servers,
  6. and fast enough to communicate with them in seconds.
  7. Salt delivers a dynamic communication bus for infrastructures that can be used
  8. for orchestration, remote execution, configuration management and much more.
  9. Sample Metadata
  10. ===============
  11. Salt master
  12. -----------
  13. Salt master with base formulas and pillar metadata backend
  14. .. literalinclude:: tests/pillar/master_single_pillar.sls
  15. :language: yaml
  16. Salt master with reclass ENC metadata backend
  17. .. literalinclude:: tests/pillar/master_single_reclass.sls
  18. :language: yaml
  19. Salt master with API
  20. .. literalinclude:: tests/pillar/master_api.sls
  21. :language: yaml
  22. Salt master with defined user ACLs
  23. .. literalinclude:: tests/pillar/master_acl.sls
  24. :language: yaml
  25. Salt master with preset minions
  26. .. code-block:: yaml
  27. salt:
  28. master:
  29. enabled: true
  30. minions:
  31. - name: 'node1.system.location.domain.com'
  32. Salt master with pip based installation (optional)
  33. .. code-block:: yaml
  34. salt:
  35. master:
  36. enabled: true
  37. ...
  38. source:
  39. engine: pip
  40. version: 2016.3.0rc2
  41. Install formula through system package management
  42. .. code-block:: yaml
  43. salt:
  44. master:
  45. enabled: true
  46. ...
  47. environment:
  48. prd:
  49. keystone:
  50. source: pkg
  51. name: salt-formula-keystone
  52. nova:
  53. source: pkg
  54. name: salt-formula-keystone
  55. version: 0.1+0~20160818133412.24~1.gbp6e1ebb
  56. postresql:
  57. source: pkg
  58. name: salt-formula-postgresql
  59. version: purged
  60. Formula keystone is installed latest version and the formulas without version are installed in one call to aptpkg module.
  61. If the version attribute is present sls iterates over formulas and take action to install specific version or remove it.
  62. The version attribute may have these values ``[latest|purged|removed|<VERSION>]``.
  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 with logging handlers
  91. .. code-block:: yaml
  92. salt:
  93. master:
  94. enabled: true
  95. handler:
  96. handler01:
  97. engine: udp
  98. bind:
  99. host: 127.0.0.1
  100. port: 9999
  101. minion:
  102. handler:
  103. handler01:
  104. engine: udp
  105. bind:
  106. host: 127.0.0.1
  107. port: 9999
  108. handler02:
  109. engine: zmq
  110. bind:
  111. host: 127.0.0.1
  112. port: 9999
  113. Salt master peer setup for remote certificate signing
  114. .. code-block:: yaml
  115. salt:
  116. master:
  117. peer:
  118. ".*":
  119. - x509.sign_remote_certificate
  120. Configure verbosity of state output (used for `salt` command)
  121. .. code-block:: yaml
  122. salt:
  123. master:
  124. state_output: changes
  125. Salt Reactor system sample
  126. .. code-block:: yaml
  127. salt:
  128. master:
  129. reactor:
  130. salt/minion/*/start:
  131. - salt://reactor/minion-started.sls
  132. Run any orchestration pipeline from custom event
  133. .. code-block:: yaml
  134. salt:
  135. master:
  136. reactor:
  137. salt/orchestrate/start:
  138. - salt://salt/reactor/orchestrate_start.sls
  139. Sample event to trigger the basic orchestration pipeline
  140. .. code-block:: bash
  141. salt-call event.send 'salt/orchestrate/start' "{'orchestrate': 'salt/orchestrate/infra_install.sls'}
  142. Classify node from custom event
  143. .. code-block:: yaml
  144. salt:
  145. master:
  146. reactor:
  147. reclass/minion/classify:
  148. - salt://reclass/reactor/node_register.sls
  149. Sample event to trigger the classification
  150. .. code-block:: bash
  151. salt-call event.send 'reclass/minion/classify' "{'node_master_ip': '$config_host', 'node_ip': '${node_ip}', 'node_domain': '$node_domain', 'node_cluster': '$node_cluster', 'node_hostname': '$node_hostname', 'node_os': '$node_os'}"
  152. Salt syndic
  153. -----------
  154. The master of masters
  155. .. code-block:: yaml
  156. salt:
  157. master:
  158. enabled: true
  159. order_masters: True
  160. Lower syndicated master
  161. .. code-block:: yaml
  162. salt:
  163. syndic:
  164. enabled: true
  165. master:
  166. host: master-of-master-host
  167. timeout: 5
  168. Syndicated master with multiple master of masters
  169. .. code-block:: yaml
  170. salt:
  171. syndic:
  172. enabled: true
  173. masters:
  174. - host: master-of-master-host1
  175. - host: master-of-master-host2
  176. timeout: 5
  177. Salt-minion proxy
  178. -----------------
  179. Salt proxy pillar
  180. .. code-block:: yaml
  181. salt:
  182. minion:
  183. proxy_minion:
  184. master: localhost
  185. device:
  186. vsrx01.mydomain.local:
  187. enabled: true
  188. engine: napalm
  189. csr1000v.mydomain.local:
  190. enabled: true
  191. engine: napalm
  192. .. note:: This is pillar of the the real salt-minion
  193. Proxy pillar for IOS device
  194. .. code-block:: yaml
  195. proxy:
  196. proxytype: napalm
  197. driver: ios
  198. host: csr1000v.mydomain.local
  199. username: root
  200. passwd: r00tme
  201. .. note:: This is pillar of the node thats not able to run salt-minion itself
  202. Proxy pillar for JunOS device
  203. .. code-block:: yaml
  204. proxy:
  205. proxytype: napalm
  206. driver: junos
  207. host: vsrx01.mydomain.local
  208. username: root
  209. passwd: r00tme
  210. optional_args:
  211. config_format: set
  212. .. note:: This is pillar of the node thats not able to run salt-minion itself
  213. Salt SSH
  214. --------
  215. Salt SSH with sudoer using key
  216. .. literalinclude:: tests/pillar/master_ssh_minion_key.sls
  217. :language: yaml
  218. Salt SSH with sudoer using password
  219. .. literalinclude:: tests/pillar/master_ssh_minion_password.sls
  220. :language: yaml
  221. Salt SSH with root using password
  222. .. literalinclude:: tests/pillar/master_ssh_minion_root.sls
  223. :language: yaml
  224. Salt minion
  225. -----------
  226. Simplest Salt minion setup with central configuration node
  227. .. code-block:: yaml
  228. .. literalinclude:: tests/pillar/minion_master.sls
  229. :language: yaml
  230. Multi-master Salt minion setup
  231. .. literalinclude:: tests/pillar/minion_multi_master.sls
  232. :language: yaml
  233. Salt minion with salt mine options
  234. .. literalinclude:: tests/pillar/minion_mine.sls
  235. :language: yaml
  236. Salt minion with graphing dependencies
  237. .. literalinclude:: tests/pillar/minion_graph.sls
  238. :language: yaml
  239. Salt minion behind HTTP proxy
  240. .. code-block:: yaml
  241. salt:
  242. minion:
  243. proxy:
  244. host: 127.0.0.1
  245. port: 3128
  246. Salt minion with PKI certificate authority (CA)
  247. .. literalinclude:: tests/pillar/minion_pki_ca.sls
  248. :language: yaml
  249. Salt minion using PKI certificate
  250. .. literalinclude:: tests/pillar/minion_pki_cert.sls
  251. :language: yaml
  252. Salt minion trust CA certificates issued by salt CA on a specific host (ie: salt-master node)
  253. .. code-block:: yaml
  254. salt:
  255. minion:
  256. trusted_ca_minions:
  257. - cfg01
  258. Salt control (cloud/kvm/docker)
  259. -------------------------------
  260. Salt cloud with local OpenStack provider
  261. .. literalinclude:: tests/pillar/control_cloud_openstack.sls
  262. :language: yaml
  263. Salt cloud with Digital Ocean provider
  264. .. literalinclude:: tests/pillar/control_cloud_digitalocean.sls
  265. :language: yaml
  266. Salt virt with KVM cluster
  267. .. literalinclude:: tests/pillar/control_virt.sls
  268. :language: yaml
  269. Usage
  270. =====
  271. Working with salt-cloud
  272. .. code-block:: bash
  273. salt-cloud -m /path/to/map --assume-yes
  274. Debug LIBCLOUD for salt-cloud connection
  275. .. code-block:: bash
  276. export LIBCLOUD_DEBUG=/dev/stderr; salt-cloud --list-sizes provider_name --log-level all
  277. More Information
  278. ================
  279. * http://salt.readthedocs.org/en/latest/
  280. * https://github.com/DanielBryan/salt-state-graph
  281. * http://karlgrz.com/testing-salt-states-rapidly-with-docker/
  282. * https://mywushublog.com/2013/03/configuration-management-with-salt-stack/
  283. * http://russell.ballestrini.net/replace-the-nagios-scheduler-and-nrpe-with-salt-stack/
  284. * https://github.com/saltstack-formulas/salt-formula
  285. * http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
  286. salt-cloud
  287. ----------
  288. * http://www.blog.sandro-mathys.ch/2013/07/setting-user-password-when-launching.html
  289. * http://cloudinit.readthedocs.org/en/latest/topics/examples.html
  290. * http://salt-cloud.readthedocs.org/en/latest/topics/install/index.html
  291. * http://docs.saltstack.com/topics/cloud/digitalocean.html
  292. * http://salt-cloud.readthedocs.org/en/latest/topics/rackspace.html
  293. * http://salt-cloud.readthedocs.org/en/latest/topics/map.html
  294. * http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
  295. Documentation and Bugs
  296. ======================
  297. To learn how to install and update salt-formulas, consult the documentation
  298. available online at:
  299. http://salt-formulas.readthedocs.io/
  300. In the unfortunate event that bugs are discovered, they should be reported to
  301. the appropriate issue tracker. Use Github issue tracker for specific salt
  302. formula:
  303. https://github.com/salt-formulas/salt-formula-salt/issues
  304. For feature requests, bug reports or blueprints affecting entire ecosystem,
  305. use Launchpad salt-formulas project:
  306. https://launchpad.net/salt-formulas
  307. You can also join salt-formulas-users team and subscribe to mailing list:
  308. https://launchpad.net/~salt-formulas-users
  309. Developers wishing to work on the salt-formulas projects should always base
  310. their work on master branch and submit pull request against specific formula.
  311. https://github.com/salt-formulas/salt-formula-salt
  312. Any questions or feedback is always welcome so feel free to join our IRC
  313. channel:
  314. #salt-formulas @ irc.freenode.net