#!/bin/sh BASE_D="/var/lib/uacme.d/{{ uacme_cert_name }}" # split fullchain and fix permissions awk '{if(length($0) > 0) print} /-----END CERTIFICATE-----/ { exit }' "$BASE_D/{{ uacme_cert_name }}-cert.pem" > "$BASE_D/crt.pem" awk '(show==1) {if(length($0) > 0) print} /-----END CERTIFICATE-----/ { show=1 }' "$BASE_D/{{ uacme_cert_name }}-cert.pem" > "$BASE_D/chain.pem" chmod "{{ uacme_cert_config.cert.mode | default('0644') }}" $BASE_D/{{ uacme_cert_name }}-cert.pem $BASE_D/crt.pem $BASE_D/chain.pem {% if uacme_cert_config.cert.owner is defined %} chown "{{ uacme_cert_config.cert.owner }}" $BASE_D/{{ uacme_cert_name }}-cert.pem $BASE_D/crt.pem $BASE_D/chain.pem {% endif %} {% if uacme_cert_config.cert.group is defined %} chgrp "{{ uacme_cert_config.cert.group }}" $BASE_D/{{ uacme_cert_name }}-cert.pem $BASE_D/crt.pem $BASE_D/chain.pem {% endif %} {% if x509_certificate_renewal is defined and 'install' in x509_certificate_renewal %} {% for file in x509_certificate_renewal.install %} install{% if 'mode' in file %} -m {{ file.mode }}{% endif %}{% if 'owner' in file %} -o {{ file.owner }}{% endif %}{% if 'owner' in file %} -g {{ file.group }}{% endif %} /dev/null "{{ file.dest }}.new" {% for src in file.src %} cat "{{ hostvars[inventory_hostname]['x509_certificate_path_' + src] }}" >> "{{ file.dest }}.new" mv "{{ file.dest }}.new" "{{ file.dest }}" {% endfor %} {% endfor %} {% endif %} ## reload services {% for service in (x509_certificate_reload_services | default([])) %} systemctl reload "{{ service }}.service" {% endfor %} {% if x509_certificate_renewal is defined and 'reload' in x509_certificate_renewal %} {{ x509_certificate_renewal.reload | trim }} {% endif %}