Sin descripción

certbot.sls 1.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. {% import 'globals.jinja' as globals %}
  2. include:
  3. - nginx
  4. - pip.virtualenvwrapper
  5. {% for subdir in [
  6. 'certbot-auto',
  7. 'letsencrypt',
  8. ] %}
  9. /data/admin/{{ subdir }}:
  10. file.directory:
  11. - mode: 700
  12. - require:
  13. - file: /data/admin
  14. {% endfor %}
  15. /data/virtualenvs/letsencrypt:
  16. file.directory:
  17. - require:
  18. - file: /data/virtualenvs
  19. /root/.local/share:
  20. file.symlink:
  21. - target: /data/virtualenvs
  22. - makedirs: True
  23. - require:
  24. - file: /data/virtualenvs
  25. /etc/letsencrypt:
  26. file.symlink:
  27. - target: /data/admin/letsencrypt
  28. - require:
  29. - file: /data/admin/letsencrypt
  30. /data/certbot/.well-known:
  31. file.directory:
  32. - mode: 755
  33. - makedirs: True
  34. - require:
  35. - file: /data
  36. /etc/nginx/sites-enabled/certbot:
  37. file.managed:
  38. - source: salt://admin/files/certbot.nginx
  39. - template: jinja
  40. - watch_in:
  41. - service: nginx
  42. {% if grains['id'] == globals.primary_admin_host %}
  43. # If the admin servers are replicated, then certbot must only be run on one
  44. # of them and the information replicated to all the others.
  45. /etc/cron.d/certbot:
  46. file.managed:
  47. - source: salt://admin/files/certbot.cron
  48. {% else %}
  49. /etc/cron.d/certbot:
  50. file.absent
  51. {% endif %}