xoxys.certbot/tasks/install.yml

65 lines
1.8 KiB
YAML

---
- name: Create certbot user '{{ certbot_user }}'
user:
name: "{{ certbot_user }}"
become: True
become_user: root
when: not certbot_user == 'root'
- block:
- name: Install dependencies
pip:
name: "{{ item }}"
extra_args: --user
state: present
loop: "{{ certbot_packages_extra }}"
- name: Install certbot with pip
pip:
name: "{{ item }}"
extra_args: --user
state: present
loop: "{{ __certbot_packages }}"
- name: Create certbot environment
file:
path: "{{ item.name }}"
state: directory
mode: "{{ item.mode }}"
loop: "{{ __certbot_environment }}"
loop_control:
label: "{{ item.name }}"
- name: Deploy config file
template:
src: config/cli.ini.j2
dest: "{{ certbot_config_dir }}/cli.ini"
- name: Deploy credentials file
template:
src: config/credentials.ini.j2
dest: "{{ certbot_config_dir }}/credentials.ini"
mode: 0600
when: certbot_credentials | default([]) | length > 0
- name: Schedule certbot run
cron:
name: "Certbot automatic renewal: {{ item.name }}"
minute: "{{ certbot_cron_minute }}"
hour: "{{ certbot_cron_hour }}"
user: "{{ certbot_cron_user | default(certbot_user) }}"
job: >
{{ certbot_bin | default(__certbot_bin) }}
--config-dir {{ certbot_config_dir }}
--work-dir {{ certbot_work_dir }}
--logs-dir {{ certbot_log_dir }}
{{ certbot_command_arguments | join(' ') }}
-n -d {{ item.domains | join(',') }}
cron_file: "{{ certbot_cron_file | default(omit) }}"
loop: "{{ certbot_domain_groups }}"
loop_control:
label: "{{ item.name }}"
when: certbot_cron_enabled
become: True
become_user: "{{ certbot_user }}"