New version of salt-formula from Saltstack
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

207 行
4.4KB

  1. {%- load_yaml as master_common %}
  2. default:
  3. service: salt-master
  4. {%- if pillar.salt.get('master', {}).get('source', {}).get('engine', 'pkg') == 'pkg' %}
  5. install_state: "pkg: salt_master_packages"
  6. source:
  7. engine: pkg
  8. {%- elif pillar.salt.master.source.engine == 'pip' %}
  9. install_state: "pip: salt_master_packages"
  10. {%- endif %}
  11. {%- if pillar.salt.get('master', {}).get('source', {}).version is defined %}
  12. version: {{ pillar.salt.master.source.version }}
  13. {%- endif %}
  14. accept_policy: preseed
  15. bind: {}
  16. formula: {}
  17. base_environment: dev
  18. dir:
  19. files: /srv/salt/env
  20. pillar:
  21. engine: salt
  22. max_event_size: 100000000
  23. minion_data_cache: 'localfs'
  24. {%- endload %}
  25. {%- load_yaml as master_specific %}
  26. Arch:
  27. pkgs:
  28. - salt
  29. Debian:
  30. pkgs:
  31. - salt-master
  32. Gentoo:
  33. pkgs:
  34. - app-admin/salt
  35. MacOS:
  36. pkgs:
  37. - saltstack
  38. RedHat:
  39. pkgs:
  40. - salt-master
  41. {%- endload %}
  42. {%- if pillar.salt.master is defined %}
  43. {%- set raw_master = salt['grains.filter_by'](master_specific, merge=salt['pillar.get']('salt:master')) %}
  44. {%- set master = salt['grains.filter_by'](master_common, merge=raw_master) %}
  45. {%- endif %}
  46. {%- load_yaml as syndic_defaults %}
  47. Debian:
  48. service: salt-syndic
  49. pkgs:
  50. - salt-syndic
  51. RedHat:
  52. service: salt-syndic
  53. pkgs:
  54. - salt-syndic
  55. {%- endload %}
  56. {%- set syndic = salt['grains.filter_by'](syndic_defaults, merge=salt['pillar.get']('salt:syndic')) %}
  57. {%- load_yaml as minion_common %}
  58. default:
  59. graph_pkgs:
  60. - graphviz
  61. graph_states_pkgs:
  62. - python-pydot
  63. - python-yaml
  64. graph_states: False
  65. log:
  66. level: info
  67. service: salt-minion
  68. {%- if pillar.salt.get('minion', {}).get('source', {}).get('engine', 'pkg') == 'pkg' %}
  69. install_state: "pkg: salt_minion_packages"
  70. source:
  71. engine: pkg
  72. {%- elif pillar.salt.minion.source.engine == 'pip' %}
  73. install_state: "pip: salt_minion_packages"
  74. {%- endif %}
  75. {%- if pillar.salt.get('minion', {}).get('source', {}).version is defined %}
  76. version: {{ pillar.salt.minion.source.version }}
  77. {%- endif %}
  78. max_event_size: 100000000
  79. {%- endload %}
  80. {%- load_yaml as minion_specific %}
  81. Arch:
  82. pkgs:
  83. - salt
  84. Debian:
  85. pkgs:
  86. - salt-minion
  87. dependency_pkgs:
  88. - python-m2crypto
  89. - python-psutil
  90. - python-yaml
  91. - python-msgpack
  92. - python-oauth
  93. dependency_pkgs_pip:
  94. - PyYAML
  95. - M2Crypto
  96. - psutil
  97. - oauth
  98. cert_pkgs:
  99. - ca-certificates
  100. Gentoo:
  101. pkgs:
  102. - app-admin/salt
  103. MacOS:
  104. pkgs:
  105. - saltstack
  106. RedHat:
  107. pkgs:
  108. - salt-minion
  109. dependency_pkgs:
  110. - m2crypto
  111. - psutils
  112. - PyYAML
  113. - python-oauth
  114. dependency_pkgs_pip:
  115. - PyYAML
  116. - M2Crypto
  117. - psutil
  118. - oauth
  119. cert_pkgs:
  120. - ca-certificates
  121. {%- endload %}
  122. {%- if pillar.salt.minion is defined %}
  123. {%- set raw_minion = salt['grains.filter_by'](minion_specific, merge=salt['pillar.get']('salt:minion')) %}
  124. {%- set minion = salt['grains.filter_by'](minion_common, merge=raw_minion) %}
  125. {%- if pillar.salt.minion.proxy_minion is defined %}
  126. {% set proxy_minion = salt['grains.filter_by']({
  127. 'Debian': {
  128. 'napalm_pkgs': ['python-pip', 'libxml2-dev', 'libxslt1-dev', 'zlib1g-dev'],
  129. 'napalm_pip_pkgs': ['napalm', 'oauth']
  130. },
  131. 'RedHat': {
  132. 'napalm_pkgs': ['libxml2-dev', 'libxslt1-dev', 'zlib1g-dev']
  133. },
  134. }, merge=pillar.salt.minion.get('proxy_minion', {})) %}
  135. {%- endif %}
  136. {%- if pillar.salt.minion.env_vars is defined %}
  137. {% set env_vars = salt['grains.filter_by']({
  138. 'Debian': {
  139. 'engine': 'file'
  140. },
  141. 'RedHat': {
  142. 'engine': 'file'
  143. },
  144. }, merge=pillar.salt.minion.get('env_vars', {})) %}
  145. {%- endif %}
  146. {%- endif %}
  147. {%- load_yaml as api_common %}
  148. default:
  149. pkgs:
  150. - salt-api
  151. service: salt-api
  152. {%- endload %}
  153. {%- set api = salt['grains.filter_by'](api_common, merge=salt['pillar.get']('salt:api')) %}
  154. {%- load_yaml as control_common %}
  155. default:
  156. cloud_pips:
  157. - apache-libcloud
  158. - netaddr
  159. cloud_pkgs:
  160. - python-netaddr
  161. - python-libcloud
  162. virt_pips:
  163. - libvirt-python
  164. maas_pkgs:
  165. - python-maas-client
  166. cluster: {}
  167. {%- endload %}
  168. {%- load_yaml as control_specific %}
  169. Debian:
  170. virt_pkgs:
  171. - libvirt-dev
  172. - pkg-config
  173. {% if grains.get('oscodename') == 'trusty' %}
  174. - libguestfs-tools
  175. {% endif %}
  176. RedHat:
  177. virt_pkgs:
  178. - libvirt-dev
  179. - pkg-config
  180. {%- endload %}
  181. {%- if pillar.salt.control is defined %}
  182. {%- set raw_control = salt['grains.filter_by'](control_specific, merge=salt['pillar.get']('salt:control')) %}
  183. {%- set control = salt['grains.filter_by'](control_common, merge=raw_control) %}
  184. {%- endif %}