| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- {% import 'globals.jinja' as globals %}
- include:
- - nginx
- - pip.virtualenvwrapper
- {% for subdir in [
- 'certbot-auto',
- 'letsencrypt',
- ] %}
- /data/admin/{{ subdir }}:
- file.directory:
- - mode: 700
- - require:
- - file: /data/admin
- {% endfor %}
- /data/virtualenvs/letsencrypt:
- file.directory:
- - require:
- - file: /data/virtualenvs
-
- /root/.local/share:
- file.symlink:
- - target: /data/virtualenvs
- - makedirs: True
- - require:
- - file: /data/virtualenvs
- /etc/letsencrypt:
- file.symlink:
- - target: /data/admin/letsencrypt
- - require:
- - file: /data/admin/letsencrypt
- /data/certbot/.well-known:
- file.directory:
- - mode: 755
- - makedirs: True
- - require:
- - file: /data
- /etc/nginx/sites-enabled/certbot:
- file.managed:
- - source: salt://admin/files/certbot.nginx
- - template: jinja
- - watch_in:
- - service: nginx
- {% if grains['id'] == globals.primary_admin_host %}
- # If the admin servers are replicated, then certbot must only be run on one
- # of them and the information replicated to all the others.
- /etc/cron.d/certbot:
- file.managed:
- - source: salt://admin/files/certbot.cron
- {% else %}
- /etc/cron.d/certbot:
- file.absent
- {% endif %}
|