mirror of
https://github.com/geerlingguy/ansible-role-certbot.git
synced 2026-08-25 01:05:36 +02:00
Compare commits
6
Commits
ee81c77df4
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6e6679d42 | ||
|
|
1e5a11fd99 | ||
|
|
7e659d14bc | ||
|
|
5ad5bd94bf | ||
|
|
261cf7aac5 | ||
|
|
01a8ac6f90 |
@@ -50,16 +50,6 @@ jobs:
|
|||||||
- distro: debian12
|
- distro: debian12
|
||||||
playbook: converge.yml
|
playbook: converge.yml
|
||||||
experimental: false
|
experimental: false
|
||||||
<<<<<<< Updated upstream
|
|
||||||
=======
|
|
||||||
- distro: debian10
|
|
||||||
playbook: converge.yml
|
|
||||||
experimental: false
|
|
||||||
# Source install started failing recently.
|
|
||||||
# - distro: centos7
|
|
||||||
# playbook: playbook-source-install.yml
|
|
||||||
# experimental: false
|
|
||||||
>>>>>>> Stashed changes
|
|
||||||
|
|
||||||
- distro: rockylinux9
|
- distro: rockylinux9
|
||||||
playbook: playbook-snap-install.yml
|
playbook: playbook-snap-install.yml
|
||||||
|
|||||||
@@ -29,21 +29,6 @@ certbot_certs: []
|
|||||||
# - example2.com
|
# - example2.com
|
||||||
# - domains:
|
# - domains:
|
||||||
# - example3.com
|
# - example3.com
|
||||||
# - name: example4.com
|
|
||||||
# dns_rfc2136_credentials: "local-keyname"
|
|
||||||
# domains:
|
|
||||||
# - "example4.com"
|
|
||||||
# - "example5.com"
|
|
||||||
|
|
||||||
# certbot_dns_rfc2136_credentials:
|
|
||||||
# - name: "local-keyname"
|
|
||||||
# server: "192.0.2.1" # ip address only
|
|
||||||
# port: 53
|
|
||||||
# key_name: "keyname-in-dns-config"
|
|
||||||
# secret: "example_rfc2136_secret"
|
|
||||||
# algorithm: "HMAC-SHA256"
|
|
||||||
|
|
||||||
certbot_dns_rfc2136_propagation_seconds: 60
|
|
||||||
|
|
||||||
certbot_create_command: >-
|
certbot_create_command: >-
|
||||||
{{ certbot_script }} certonly --{{ certbot_create_method }}
|
{{ certbot_script }} certonly --{{ certbot_create_method }}
|
||||||
@@ -54,10 +39,6 @@ certbot_create_command: >-
|
|||||||
{{ '--expand' if certbot_expand else '' }}
|
{{ '--expand' if certbot_expand else '' }}
|
||||||
{{ '--webroot-path ' if certbot_create_method == 'webroot' else '' }}
|
{{ '--webroot-path ' if certbot_create_method == 'webroot' else '' }}
|
||||||
{{ cert_item.webroot | default(certbot_webroot) if certbot_create_method == 'webroot' else '' }}
|
{{ cert_item.webroot | default(certbot_webroot) if certbot_create_method == 'webroot' else '' }}
|
||||||
{{ '--dns-rfc2136-propagation-seconds ' if certbot_create_method == 'dns-rfc2136' else '' }}
|
|
||||||
{{ certbot_dns_rfc2136_propagation_seconds if certbot_create_method == 'dns-rfc2136' else '' }}
|
|
||||||
{{ '--dns-rfc2136-credentials ' if certbot_create_method == 'dns-rfc2136' else '' }}
|
|
||||||
{{ '/etc/letsencrypt/' + cert_item.dns_rfc2136_credentials + '.ini' if certbot_create_method == 'dns-rfc2136' else '' }}
|
|
||||||
{{ certbot_create_extra_args }}
|
{{ certbot_create_extra_args }}
|
||||||
--cert-name {{ cert_item_name }}
|
--cert-name {{ cert_item_name }}
|
||||||
-d {{ cert_item.domains | join(',') }}
|
-d {{ cert_item.domains | join(',') }}
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
---
|
|
||||||
- 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 dns_rfc2136_credentials files
|
|
||||||
template:
|
|
||||||
src: rfc2136_credentials.j2
|
|
||||||
dest: "/etc/letsencrypt/{{ item.name }}.ini"
|
|
||||||
mode: 0600
|
|
||||||
with_items: "{{ certbot_dns_rfc2136_credentials }}"
|
|
||||||
|
|
||||||
- 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
|
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
- name: Check if domains have changed
|
- name: Check if domains have changed
|
||||||
block:
|
block:
|
||||||
- name: Register certificate domains
|
- name: Register certificate domains
|
||||||
shell: "{{ certbot_script }} certificates --cert-name {{ cert_item_name }} | grep Domains | cut -d':' -f2"
|
shell: "{{ certbot_script }} certificates --cert-name {{ cert_item_name }} | grep -E '(Domains|Identifiers)' | cut -d':' -f2"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
register: letsencrypt_cert_domains_dirty
|
register: letsencrypt_cert_domains_dirty
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
- name: Check if domains have changed
|
- name: Check if domains have changed
|
||||||
block:
|
block:
|
||||||
- name: Register certificate domains
|
- name: Register certificate domains
|
||||||
shell: "{{ certbot_script }} certificates --cert-name {{ cert_item_name }} | grep Domains | cut -d':' -f2"
|
shell: "{{ certbot_script }} certificates --cert-name {{ cert_item_name }} | grep -E '(Domains|Identifiers)' | cut -d':' -f2"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
register: letsencrypt_cert_domains_dirty
|
register: letsencrypt_cert_domains_dirty
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
---
|
---
|
||||||
- name: Install Certbot.
|
- name: Install Certbot.
|
||||||
package:
|
package:
|
||||||
name: "{{ item }}"
|
name: "{{ certbot_package }}"
|
||||||
state: present
|
state: present
|
||||||
with_items: "{{ certbot_package }}"
|
|
||||||
|
|
||||||
- name: Set Certbot script variable.
|
- name: Set Certbot script variable.
|
||||||
set_fact:
|
set_fact:
|
||||||
certbot_script: "{{ certbot_package[0] }}"
|
certbot_script: "{{ certbot_package }}"
|
||||||
|
|||||||
@@ -29,13 +29,5 @@
|
|||||||
loop_control:
|
loop_control:
|
||||||
loop_var: cert_item
|
loop_var: cert_item
|
||||||
|
|
||||||
- include_tasks: create-cert-dns-rfc2136.yml
|
|
||||||
with_items: "{{ certbot_certs }}"
|
|
||||||
when:
|
|
||||||
- certbot_create_if_missing
|
|
||||||
- certbot_create_method == 'dns-rfc2136'
|
|
||||||
loop_control:
|
|
||||||
loop_var: cert_item
|
|
||||||
|
|
||||||
- import_tasks: renew-cron.yml
|
- import_tasks: renew-cron.yml
|
||||||
when: certbot_auto_renew
|
when: certbot_auto_renew
|
||||||
|
|||||||
@@ -9,3 +9,4 @@
|
|||||||
shell: |
|
shell: |
|
||||||
dnf config-manager --set-enabled crb
|
dnf config-manager --set-enabled crb
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
when: ansible_distribution != 'Fedora'
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
dns_rfc2136_server = "{{ item.server }}"
|
|
||||||
dns_rfc2136_port = "{{ item.port }}"
|
|
||||||
dns_rfc2136_name = "{{ item.key_name }}"
|
|
||||||
dns_rfc2136_secret = "{{ item.secret }}"
|
|
||||||
dns_rfc2136_algorithm = "{{ item.algorithm }}"
|
|
||||||
+1
-3
@@ -1,4 +1,2 @@
|
|||||||
---
|
---
|
||||||
certbot_package:
|
certbot_package: certbot
|
||||||
- certbot
|
|
||||||
- python3-certbot-dns-rfc2136
|
|
||||||
|
|||||||
Reference in New Issue
Block a user