add role tag to certbot role
This commit is contained in:
parent
296214db55
commit
e4722257b9
7 changed files with 31 additions and 0 deletions
|
|
@ -1,11 +1,15 @@
|
||||||
|
---
|
||||||
- name: ensure certbot installation
|
- name: ensure certbot installation
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.import_tasks:
|
ansible.builtin.import_tasks:
|
||||||
file: main/install.yaml
|
file: main/install.yaml
|
||||||
|
|
||||||
- name: ensure new cert commands
|
- name: ensure new cert commands
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.import_tasks:
|
ansible.builtin.import_tasks:
|
||||||
file: main/new_cert_commands.yaml
|
file: main/new_cert_commands.yaml
|
||||||
|
|
||||||
- name: ensure certificates
|
- name: ensure certificates
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.import_tasks:
|
ansible.builtin.import_tasks:
|
||||||
file: main/certs.yaml
|
file: main/certs.yaml
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
|
---
|
||||||
- name: get expiry date before
|
- name: get expiry date before
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item.commonName }}/fullchain.pem
|
ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item.commonName }}/fullchain.pem
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
become: true
|
become: true
|
||||||
|
|
@ -6,6 +8,7 @@
|
||||||
register: certbot__cert_expiry_before
|
register: certbot__cert_expiry_before
|
||||||
|
|
||||||
- name: ensure directory for cert configs exists
|
- name: ensure directory for cert configs exists
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: "/etc/ansible_certbot/cert_configs/"
|
path: "/etc/ansible_certbot/cert_configs/"
|
||||||
state: directory
|
state: directory
|
||||||
|
|
@ -15,6 +18,7 @@
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: ensure cert config is stored
|
- name: ensure cert config is stored
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
content: "{{ cert_config_defaults[item.challengeType] | combine(item, recursive=True) | ansible.builtin.to_nice_json }}"
|
content: "{{ cert_config_defaults[item.challengeType] | combine(item, recursive=True) | ansible.builtin.to_nice_json }}"
|
||||||
dest: "/etc/ansible_certbot/cert_configs/{{ item.commonName }}.json"
|
dest: "/etc/ansible_certbot/cert_configs/{{ item.commonName }}.json"
|
||||||
|
|
@ -30,17 +34,20 @@
|
||||||
|
|
||||||
# # https://eff-certbot.readthedocs.io/en/stable/using.html#manual
|
# # https://eff-certbot.readthedocs.io/en/stable/using.html#manual
|
||||||
- name: obtain the certificate using certbot and the manual auth hook
|
- name: obtain the certificate using certbot and the manual auth hook
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.command: /usr/bin/certbot certonly --keep-until-expiring --agree-tos --non-interactive --email "{{ certbot__acme_account_email_address }}" --no-eff-email --manual --preferred-challenge dns --manual-auth-hook "/usr/local/lib/ansible_certbot/manual_auth_scripts/{{ item.challengeType }}.sh" -d "{{ item.commonName }}"
|
ansible.builtin.command: /usr/bin/certbot certonly --keep-until-expiring --agree-tos --non-interactive --email "{{ certbot__acme_account_email_address }}" --no-eff-email --manual --preferred-challenge dns --manual-auth-hook "/usr/local/lib/ansible_certbot/manual_auth_scripts/{{ item.challengeType }}.sh" -d "{{ item.commonName }}"
|
||||||
become: true
|
become: true
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
- name: get expiry date after
|
- name: get expiry date after
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item.commonName }}/fullchain.pem
|
ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item.commonName }}/fullchain.pem
|
||||||
become: true
|
become: true
|
||||||
changed_when: false
|
changed_when: false
|
||||||
register: certbot__cert_expiry_after
|
register: certbot__cert_expiry_after
|
||||||
|
|
||||||
- name: potentially report changed
|
- name: potentially report changed
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.debug:
|
ansible.builtin.debug:
|
||||||
msg: "If this reports changed, then the certificate expiry date and therefore the certificate changed."
|
msg: "If this reports changed, then the certificate expiry date and therefore the certificate changed."
|
||||||
changed_when: certbot__cert_expiry_before.stdout != certbot__cert_expiry_after.stdout
|
changed_when: certbot__cert_expiry_before.stdout != certbot__cert_expiry_after.stdout
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,18 @@
|
||||||
|
---
|
||||||
- name: obtain http-01 challenge certificates
|
- name: obtain http-01 challenge certificates
|
||||||
|
tags: [ "certbot" ]
|
||||||
loop: "{{ certbot__certificate_domains }}"
|
loop: "{{ certbot__certificate_domains }}"
|
||||||
ansible.builtin.include_tasks:
|
ansible.builtin.include_tasks:
|
||||||
file: main/http_01_cert.yaml
|
file: main/http_01_cert.yaml
|
||||||
|
|
||||||
- name: validate certs config
|
- name: validate certs config
|
||||||
|
tags: [ "certbot" ]
|
||||||
loop: "{{ certbot__certs }}"
|
loop: "{{ certbot__certs }}"
|
||||||
ansible.builtin.include_tasks:
|
ansible.builtin.include_tasks:
|
||||||
file: main/validate_cert.yaml
|
file: main/validate_cert.yaml
|
||||||
|
|
||||||
- name: obtain certs
|
- name: obtain certs
|
||||||
|
tags: [ "certbot" ]
|
||||||
loop: "{{ certbot__certs }}"
|
loop: "{{ certbot__certs }}"
|
||||||
ansible.builtin.include_tasks:
|
ansible.builtin.include_tasks:
|
||||||
file: main/cert.yaml
|
file: main/cert.yaml
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
|
---
|
||||||
- name: get expiry date before
|
- name: get expiry date before
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item }}/fullchain.pem
|
ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item }}/fullchain.pem
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
become: true
|
become: true
|
||||||
|
|
@ -6,11 +8,13 @@
|
||||||
register: certbot__cert_expiry_before
|
register: certbot__cert_expiry_before
|
||||||
|
|
||||||
- name: obtain the certificate using certbot
|
- name: obtain the certificate using certbot
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.command: /usr/bin/certbot certonly --keep-until-expiring --agree-tos --non-interactive --email "{{ certbot__acme_account_email_address }}" --no-eff-email --standalone --http-01-port "{{ certbot__http_01_port }}" -d "{{ item }}"
|
ansible.builtin.command: /usr/bin/certbot certonly --keep-until-expiring --agree-tos --non-interactive --email "{{ certbot__acme_account_email_address }}" --no-eff-email --standalone --http-01-port "{{ certbot__http_01_port }}" -d "{{ item }}"
|
||||||
become: true
|
become: true
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
- name: get expiry date after
|
- name: get expiry date after
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item }}/fullchain.pem
|
ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item }}/fullchain.pem
|
||||||
become: true
|
become: true
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
|
---
|
||||||
- name: ensure relevant packages are installed
|
- name: ensure relevant packages are installed
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
name:
|
name:
|
||||||
- openssl
|
- openssl
|
||||||
|
|
@ -8,8 +10,10 @@
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: ensure manual auth scripts are deployed
|
- name: ensure manual auth scripts are deployed
|
||||||
|
tags: [ "certbot" ]
|
||||||
block:
|
block:
|
||||||
- name: ensure manual auth scripts directory exists
|
- name: ensure manual auth scripts directory exists
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: "/usr/local/lib/ansible_certbot/manual_auth_scripts"
|
path: "/usr/local/lib/ansible_certbot/manual_auth_scripts"
|
||||||
state: directory
|
state: directory
|
||||||
|
|
@ -19,6 +23,7 @@
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: ensure manual auth scripts are deployed
|
- name: ensure manual auth scripts are deployed
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: "manual_auth_scripts/{{ item }}.sh"
|
src: "manual_auth_scripts/{{ item }}.sh"
|
||||||
dest: "/usr/local/lib/ansible_certbot/manual_auth_scripts/{{ item }}.sh"
|
dest: "/usr/local/lib/ansible_certbot/manual_auth_scripts/{{ item }}.sh"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
|
---
|
||||||
- name: ensure existence of renewal deploy hooks directory
|
- name: ensure existence of renewal deploy hooks directory
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: /etc/letsencrypt/renewal-hooks/deploy
|
path: /etc/letsencrypt/renewal-hooks/deploy
|
||||||
state: directory
|
state: directory
|
||||||
|
|
@ -8,6 +10,7 @@
|
||||||
become: true
|
become: true
|
||||||
|
|
||||||
- name: ensure renewal deploy hook commands
|
- name: ensure renewal deploy hook commands
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: renewal_deploy_hook_commands.sh.j2
|
src: renewal_deploy_hook_commands.sh.j2
|
||||||
dest: /etc/letsencrypt/renewal-hooks/deploy/ansible_commands.sh
|
dest: /etc/letsencrypt/renewal-hooks/deploy/ansible_commands.sh
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,15 @@
|
||||||
|
---
|
||||||
- name: validate dns-01-acme-dns challenge type config
|
- name: validate dns-01-acme-dns challenge type config
|
||||||
|
tags: [ "certbot" ]
|
||||||
when: item.challengeType == "dns-01-acme-dns"
|
when: item.challengeType == "dns-01-acme-dns"
|
||||||
block:
|
block:
|
||||||
- name: assert dns_01_acme_dns config exists
|
- name: assert dns_01_acme_dns config exists
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that: item.dns_01_acme_dns is defined
|
that: item.dns_01_acme_dns is defined
|
||||||
|
|
||||||
- name: assert dns_01_acme_dns config is valid
|
- name: assert dns_01_acme_dns config is valid
|
||||||
|
tags: [ "certbot" ]
|
||||||
ansible.builtin.validate_argument_spec:
|
ansible.builtin.validate_argument_spec:
|
||||||
argument_spec: "{{ required_data }}"
|
argument_spec: "{{ required_data }}"
|
||||||
provided_arguments:
|
provided_arguments:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue