---
- name: Install basic APT packages
  apt:
    update_cache: true
    name:
      - certbot
      - python3-certbot-nginx
  register: pkg_result
  retries: 3
  until: pkg_result is succeeded

- name: Check if certificate already exists.
  stat:
    path: /etc/letsencrypt/live/{{note.server_name}}/cert.pem
  register: letsencrypt_cert

- name: Create /etc/letsencrypt/conf.d
  file:
    path: /etc/letsencrypt/conf.d
    state: directory

- name: Add Certbot configuration
  template:
    src: "letsencrypt/conf.d/nk20.ini.j2"
    dest: "/etc/letsencrypt/conf.d/nk20.ini"
    mode: 0644

- name: Stop services to allow certbot to generate a cert.
  service:
    name: nginx
    state: stopped

- name: Generate new certificate if one doesn't exist.
  shell: "certbot certonly --non-interactive --agree-tos --config /etc/letsencrypt/conf.d/nk20.ini -d {{note.server_name}}"
  when: letsencrypt_cert.stat.exists == False

- name: Restart services to allow certbot to generate a cert.
  service:
    name: nginx
    state: started
