ansible/roles/acme/tasks/systemd.yml

60 lines
1.7 KiB
YAML

---
################################################################################
# Created Date: Sunday December 21st 2025
# Author: Aaron Johnson aaron.johnson@akamai.com
# -----
# Last Modified: Sunday, 21st December 2025
# Modified By: the engineer formerly known as Aaron Johnson
# -----
# Copyright (c) 2025 Contact Author for details
# -----
# USAGE/DOCUMENTATION:
#
# -----
# INSTALLATION
#
# -----
# HISTORY:
# Date By Comments
# ---------- --- ---------------------------------------------------------
################################################################################
- name: Issue certificate
shell: |
source {{ acme_home }}/godaddy.env
export ACME_DEFAULT_DNS_TIMEOUT=180
export ACME_RETRY=10
export ACME_SLEEP=15
{{ acme_sh_path }} --server letsencrypt --issue --dns dns_gd -d {{ inventory_hostname }}
become_user: "{{ acme_user }}"
args:
creates: "{{ acme_home }}/.acme.sh/{{ inventory_hostname }}_ecc/fullchain.cer"
- name: Install certificate
become_user: "{{ acme_user }}"
shell: |
{{ acme_sh_path }} --install-cert \
-d {{ inventory_hostname }} \
--key-file {{ cert_dir }}/privkey.pem \
--fullchain-file {{ cert_dir }}/fullchain.pem \
--reloadcmd "chmod 640 {{ cert_dir }}/privkey.pem {{ cert_dir }}/fullchain.pem && sudo /bin/systemctl reload {{ apache_service }}"
args:
creates: "{{ cert_dir }}/fullchain.pem"
- name: Install renewal service
template:
src: acme-renew.service.j2
dest: /etc/systemd/system/acme-renew.service
- name: Install renewal timer
template:
src: acme-renew.timer.j2
dest: /etc/systemd/system/acme-renew.timer
- name: Enable renewal timer
systemd:
name: acme-renew.timer
enabled: yes
state: started