Compare commits

...
9 Commits
Author SHA1 Message Date
Eugene MazhoraandGitHub 3ea9b5ffdf Merge 730ede0618 into c6e6679d42 2026-07-29 18:57:51 +02:00
Jeff GeerlingandGitHub c6e6679d42 Merge pull request #245 from nonno-cicala/master
Fix Fedora
2026-07-29 10:48:16 -05:00
Jeff GeerlingandGitHub 1e5a11fd99 Merge pull request #254 from 93jun/fix-ci-conflict-markers
Remove CI conflict markers
2026-07-29 10:46:57 -05:00
Jeff GeerlingandGitHub 7e659d14bc Merge pull request #249 from mcvic1rj/fix-certbot5
Update to support how certbot 5.5 displays domains
2026-07-29 10:46:21 -05:00
93jun 5ad5bd94bf Remove CI conflict markers 2026-07-06 14:43:04 +09:00
Ryan McVicar 261cf7aac5 Update to support how certbot 5.5 displays domains 2026-04-28 15:14:35 -04:00
Simone Scanzoni 01a8ac6f90 Fix Fedora 2026-01-25 04:03:27 +01:00
Eugene MazhoraandGitHub 730ede0618 Merge branch 'master' into certbot-rfc2136-acme-challenge 2025-05-06 00:53:17 +07:00
Eugene Mazhora 17ec555d59 add dns acme challenge 2025-05-04 21:35:24 +07:00
10 changed files with 78 additions and 15 deletions
-10
View File
@@ -50,16 +50,6 @@ jobs:
- distro: debian12
playbook: converge.yml
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
playbook: playbook-snap-install.yml
+19
View File
@@ -29,6 +29,21 @@ certbot_certs: []
# - example2.com
# - domains:
# - 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_script }} certonly --{{ certbot_create_method }}
@@ -39,6 +54,10 @@ certbot_create_command: >-
{{ '--expand' if certbot_expand else '' }}
{{ '--webroot-path ' 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 }}
--cert-name {{ cert_item_name }}
-d {{ cert_item.domains | join(',') }}
+37
View File
@@ -0,0 +1,37 @@
---
- 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
+1 -1
View File
@@ -44,7 +44,7 @@
- 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"
shell: "{{ certbot_script }} certificates --cert-name {{ cert_item_name }} | grep -E '(Domains|Identifiers)' | cut -d':' -f2"
changed_when: false
register: letsencrypt_cert_domains_dirty
+1 -1
View File
@@ -16,7 +16,7 @@
- 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"
shell: "{{ certbot_script }} certificates --cert-name {{ cert_item_name }} | grep -E '(Domains|Identifiers)' | cut -d':' -f2"
changed_when: false
register: letsencrypt_cert_domains_dirty
+3 -2
View File
@@ -1,9 +1,10 @@
---
- name: Install Certbot.
package:
name: "{{ certbot_package }}"
name: "{{ item }}"
state: present
with_items: "{{ certbot_package }}"
- name: Set Certbot script variable.
set_fact:
certbot_script: "{{ certbot_package }}"
certbot_script: "{{ certbot_package[0] }}"
+8
View File
@@ -29,5 +29,13 @@
loop_control:
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
when: certbot_auto_renew
+1
View File
@@ -9,3 +9,4 @@
shell: |
dnf config-manager --set-enabled crb
changed_when: false
when: ansible_distribution != 'Fedora'
+5
View File
@@ -0,0 +1,5 @@
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 }}"
+3 -1
View File
@@ -1,2 +1,4 @@
---
certbot_package: certbot
certbot_package:
- certbot
- python3-certbot-dns-rfc2136