init.sls 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #
  2. # Nginx
  3. #
  4. {% set nginx_pkg = salt['pillar.get']('nodes:' ~ grains['id'] ~ ':nginx:pkg', 'nginx') %}
  5. nginx:
  6. pkg.installed:
  7. - name: {{nginx_pkg}}
  8. {% if grains['oscodename'] == 'jessie' %}
  9. - fromrepo: jessie-backports
  10. {% endif %}
  11. service.running:
  12. - enable: TRUE
  13. - reload: TRUE
  14. {% if grains['saltversion'] >= '2014.7.0' %}
  15. nginx-dhparam:
  16. cmd.run:
  17. - name: openssl dhparam -out /etc/ssl/dhparam.pem 4096
  18. - creates: /etc/ssl/dhparam
  19. - require_in:
  20. - serivce: nginx
  21. {% endif %}
  22. # Install meaningful main configuration (SSL tweaks 'n stuff)
  23. /etc/nginx/nginx.conf:
  24. file.managed:
  25. - source: salt://nginx/nginx.conf
  26. - watch_in:
  27. - service: nginx
  28. # Disable default configuration
  29. /etc/nginx/sites-enabled/default:
  30. file.absent
  31. # Install website configuration files configured for this node
  32. {% for website in salt['pillar.get']('nodes:' ~ grains['id'] ~ ':nginx:websites', []) %}
  33. /etc/nginx/sites-enabled/{{website}}:
  34. file.managed:
  35. - source: salt://nginx/{{website}}
  36. - template: jinja
  37. - require:
  38. - pkg: nginx
  39. - watch_in:
  40. - service: nginx
  41. {% endfor %}