Changeset - 3b48e1424308
[Not reviewed]
0 1 0
x - 17 months ago 2023-12-14 20:46:16
xbr@c3l.lu
fix: ansible errors in issue_cert
1 file changed with 5 insertions and 3 deletions:
0 comments (0 inline, 0 general)
web/tasks/issue_cert.yml
Show inline comments
 
---
 
# 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.exists
 
  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.exists
 
  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.exists
 
  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
0 comments (0 inline, 0 general)