Files @ 8e342caa159a
Branch filter:

Location: freifunk/Ansible-Configuration/web/tasks/issue_cert.yml

x
fix: install dhparam for nginx snippets
---
# Inputs:
# - domain_name (e.g. freifunk.lu)
# - all_domain_names (e.g. -d freifunk.lu -d www.freifunk.lu)
# - reload_command (e.g. systemctl reload nginx)
- name: Make sure bogus certificate + group exists
  ansible.builtin.apt:
    name: ssl-cert
    state: present
  become: true
- name: Check if certificate already exists
  ansible.builtin.stat:
    path: "/root/.acme.sh/{{ domain_name }}_ecc"
  become: true
  register: acme_cert_dir
- name: Pre-copy cert files
  ansible.builtin.copy:
    remote_src: true
    src: "/etc/ssl/certs/ssl-cert-snakeoil.pem"
    dest: "/etc/ssl/certs/ssl-{{ item }}-{{ domain_name }}.pem"
    mode: '644'
    owner: 'root'
    group: 'root'
  become: true
  loop:
    - cert
    - ca
    - fullchain
  when: not acme_cert_dir.stat.exists
- name: Pre-copy key file
  ansible.builtin.copy:
    remote_src: true
    src: "/etc/ssl/private/ssl-cert-snakeoil.key"
    dest: "/etc/ssl/private/ssl-cert-{{ domain_name }}.pem"
    mode: '640'
    owner: 'root'
    group: 'ssl-cert'
  become: true
  when: not acme_cert_dir.stat.exists
- name: Issue certificate
  ansible.builtin.command:
    cmd: "/root/.acme.sh/acme.sh --issue --keylength ec-384
      -w /var/www/acme_root/ {{ all_domain_names }}"
  become: true
  when: not acme_cert_dir.stat.exists
  register: cert_issued
  changed_when: cert_issued.rc == 0
- name: Deploy certs and keys
  ansible.builtin.command:
    cmd: "/root/.acme.sh/acme.sh --install-cert --ecc
      -d {{ domain_name }}
      --cert-file \"/etc/ssl/certs/ssl-cert-{{ domain_name }}.pem\"
      --key-file \"/etc/ssl/private/ssl-cert-{{ domain_name }}.pem\"
      --ca-file \"/etc/ssl/certs/ssl-ca-{{ domain_name }}.pem\"
      --fullchain-file \"/etc/ssl/certs/ssl-fullchain-{{ domain_name }}.pem\"
      --reloadcmd \"{{ reload_command }}\""
  become: true
  register: cert_deployed
  changed_when: cert_deployed.rc == 0