New version of salt-formula from Saltstack
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.

129 lines
2.7KB

  1. {%- load_yaml as master_common %}
  2. default:
  3. service: salt-master
  4. {%- if pillar.salt.master is defined %}
  5. {%- if pillar.salt.master.source.engine == 'pkg' %}
  6. install_state: "pkg: salt_master_packages"
  7. {%- elif pillar.salt.master.source.engine == 'pip' %}
  8. install_state: "pip: salt_master_packages"
  9. {%- endif %}
  10. {%- endif %}
  11. {%- if pillar.salt.master.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. {%- endload %}
  23. {%- load_yaml as master_specific %}
  24. Arch:
  25. pkgs:
  26. - salt-zmq
  27. Debian:
  28. pkgs:
  29. - salt-master
  30. Gentoo:
  31. pkgs:
  32. - app-admin/salt
  33. MacOS:
  34. pkgs:
  35. - saltstack
  36. RedHat:
  37. pkgs:
  38. - salt-master
  39. {%- endload %}
  40. {%- set raw_master = salt['grains.filter_by'](master_specific, merge=salt['pillar.get']('salt:master')) %}
  41. {%- set master = salt['grains.filter_by'](master_common, merge=raw_master) %}
  42. {%- load_yaml as minion_common %}
  43. default:
  44. graph_pkgs:
  45. - graphviz
  46. graph_states_pkgs:
  47. - python-pydot
  48. - python-yaml
  49. graph_states: False
  50. service: salt-minion
  51. {%- if pillar.salt.minion is defined %}
  52. {%- if pillar.salt.minion.source.engine == 'pkg' %}
  53. install_state: "pkg: salt_minion_packages"
  54. {%- elif pillar.salt.minion.source.engine == 'pip' %}
  55. install_state: "pip: salt_minion_packages"
  56. {%- endif %}
  57. {%- endif %}
  58. {%- if pillar.salt.minion.source.version is defined %}
  59. version: {{ pillar.salt.minion.source.version }}
  60. {%- endif %}
  61. {%- endload %}
  62. {%- load_yaml as minion_specific %}
  63. Arch:
  64. pkgs:
  65. - salt-zmq
  66. Debian:
  67. pkgs:
  68. - salt-minion
  69. Gentoo:
  70. pkgs:
  71. - app-admin/salt
  72. MacOS:
  73. pkgs:
  74. - saltstack
  75. RedHat:
  76. pkgs:
  77. - salt-minion
  78. {%- endload %}
  79. {%- set raw_minion = salt['grains.filter_by'](minion_specific, merge=salt['pillar.get']('salt:minion')) %}
  80. {%- set minion = salt['grains.filter_by'](minion_common, merge=raw_minion) %}
  81. {%- load_yaml as api_common %}
  82. default:
  83. pkgs:
  84. - salt-api
  85. service: salt-api
  86. {%- endload %}
  87. {%- set api = salt['grains.filter_by'](api_common, merge=salt['pillar.get']('salt:api')) %}
  88. {%- load_yaml as control_common %}
  89. default:
  90. cloud_pips:
  91. - apache-libcloud
  92. - netaddr
  93. cloud_pkgs:
  94. - python-netaddr
  95. - python-libcloud
  96. virt_pips:
  97. - libvirt-python
  98. maas_pkgs:
  99. - python-maas-client
  100. cluster: {}
  101. {%- endload %}
  102. {%- load_yaml as control_specific %}
  103. Debian:
  104. virt_pkgs:
  105. - libvirt-dev
  106. - pkg-config
  107. - libguestfs-tools
  108. RedHat:
  109. virt_pkgs:
  110. - libvirt-dev
  111. - pkg-config
  112. {%- endload %}
  113. {%- set raw_control = salt['grains.filter_by'](control_specific, merge=salt['pillar.get']('salt:control')) %}
  114. {%- set control = salt['grains.filter_by'](control_common, merge=raw_control) %}