Переписал всё, сейчас вроде как отрабатывает без ошибок
This commit is contained in:
parent
436adfbc4f
commit
26f2ea374d
49 changed files with 1404 additions and 169 deletions
35
roles/geerlingguy.certbot/tasks/create-cert-webroot.yml
Normal file
35
roles/geerlingguy.certbot/tasks/create-cert-webroot.yml
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
- name: Determine certificate name
|
||||
set_fact:
|
||||
cert_item_name: "{{ cert_item.name | default(cert_item.domains | first | replace('*.', '')) }}"
|
||||
|
||||
- name: Check if certificate already exists.
|
||||
stat:
|
||||
path: /etc/letsencrypt/live/{{ cert_item_name }}/cert.pem
|
||||
register: letsencrypt_cert
|
||||
|
||||
- name: Create webroot directory if it doesn't exist yet
|
||||
file:
|
||||
path: "{{ cert_item.webroot | default(certbot_webroot) }}"
|
||||
state: directory
|
||||
|
||||
- name: Check if domains have changed
|
||||
block:
|
||||
- name: Register certificate domains
|
||||
shell: "{{ certbot_script }} certificates --cert-name {{ cert_item_name }} | grep Domains | cut -d':' -f2"
|
||||
changed_when: false
|
||||
register: letsencrypt_cert_domains_dirty
|
||||
|
||||
- name: Cleanup domain list
|
||||
set_fact:
|
||||
letsencrypt_cert_domains: "{{ letsencrypt_cert_domains_dirty.stdout | trim | split(' ') | map('trim') | select('!=', '') | list | sort }}"
|
||||
|
||||
- name: Determine if domains have changed
|
||||
set_fact:
|
||||
letsencrypt_cert_domains_changed: "{{ letsencrypt_cert_domains != (cert_item.domains | map('trim') | select('!=', '') | list | sort) }}"
|
||||
|
||||
when: letsencrypt_cert.stat.exists
|
||||
|
||||
- name: Generate new certificate if one doesn't exist.
|
||||
command: "{{ certbot_create_command }}"
|
||||
when: not letsencrypt_cert.stat.exists or letsencrypt_cert_domains_changed | default(false)
|
||||
Loading…
Add table
Add a link
Reference in a new issue