Compare commits

...
8 Commits
15 changed files with 51 additions and 31 deletions
+12 -2
View File
@@ -26,7 +26,7 @@ jobs:
- name: Set up Python 3. - name: Set up Python 3.
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.x' python-version: '3.13' # Can't go to 3.14+ until Ansible 13.x
- name: Install test dependencies. - name: Install test dependencies.
run: pip3 install yamllint run: pip3 install yamllint
@@ -50,6 +50,16 @@ 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
@@ -64,7 +74,7 @@ jobs:
- name: Set up Python 3. - name: Set up Python 3.
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.x' python-version: '3.13' # Can't go to 3.14+ until Ansible 13.x
- name: Install test dependencies. - name: Install test dependencies.
run: pip3 install ansible molecule molecule-plugins[docker] docker run: pip3 install ansible molecule molecule-plugins[docker] docker
+1 -1
View File
@@ -29,7 +29,7 @@ jobs:
- name: Set up Python 3. - name: Set up Python 3.
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: '3.x' python-version: '3.13' # Can't go to 3.14+ until Ansible 13.x
- name: Install Ansible. - name: Install Ansible.
run: pip3 install ansible-core run: pip3 install ansible-core
+5
View File
@@ -74,6 +74,11 @@ Services that should be stopped while `certbot` runs it's own standalone server
These services will only be stopped the first time a new cert is generated. These services will only be stopped the first time a new cert is generated.
certbot_pre_hook_template: stop_services.j2
certbot_post_hook_template: start_services.j2
If you need to stop and start services in another way, firstly you define these services in `certbot_create_standalone_stop_services` and then you must create your own templates for this mision and set its paths in `certbot_pre_hook_template` and `certbot_post_hook_template`.
### Snap Installation ### Snap Installation
Beginning in December 2020, the Certbot maintainers decided to recommend installing Certbot from Snap rather than maintain scripts like `certbot-auto`. Beginning in December 2020, the Certbot maintainers decided to recommend installing Certbot from Snap rather than maintain scripts like `certbot-auto`.
+3
View File
@@ -68,3 +68,6 @@ certbot_keep_updated: true
# Where to put Certbot when installing from source. # Where to put Certbot when installing from source.
certbot_dir: /opt/certbot certbot_dir: /opt/certbot
certbot_pre_hook_template: stop_services.j2
certbot_post_hook_template: start_services.j2
+3 -3
View File
@@ -9,7 +9,7 @@
pre_tasks: pre_tasks:
- name: Update apt cache. - name: Update apt cache.
apt: update_cache=yes cache_valid_time=600 apt: update_cache=yes cache_valid_time=600
when: ansible_os_family == 'Debian' when: ansible_facts.os_family == 'Debian'
changed_when: false changed_when: false
- name: Install dependencies (RedHat). - name: Install dependencies (RedHat).
@@ -18,11 +18,11 @@
- cronie - cronie
- epel-release - epel-release
state: present state: present
when: ansible_os_family == 'RedHat' when: ansible_facts.os_family == 'RedHat'
- name: Install cron (Debian). - name: Install cron (Debian).
apt: name=cron state=present apt: name=cron state=present
when: ansible_os_family == 'Debian' when: ansible_facts.os_family == 'Debian'
roles: roles:
- geerlingguy.certbot - geerlingguy.certbot
+3 -3
View File
@@ -10,16 +10,16 @@
pre_tasks: pre_tasks:
- name: Update apt cache. - name: Update apt cache.
apt: update_cache=yes cache_valid_time=600 apt: update_cache=yes cache_valid_time=600
when: ansible_os_family == 'Debian' when: ansible_facts.os_family == 'Debian'
changed_when: false changed_when: false
- name: Install cron (RedHat). - name: Install cron (RedHat).
yum: name=cronie state=present yum: name=cronie state=present
when: ansible_os_family == 'RedHat' when: ansible_facts.os_family == 'RedHat'
- name: Install cron (Debian). - name: Install cron (Debian).
apt: name=cron state=present apt: name=cron state=present
when: ansible_os_family == 'Debian' when: ansible_facts.os_family == 'Debian'
roles: roles:
- geerlingguy.git - geerlingguy.git
+3 -3
View File
@@ -10,16 +10,16 @@
pre_tasks: pre_tasks:
- name: Update apt cache. - name: Update apt cache.
apt: update_cache=yes cache_valid_time=600 apt: update_cache=yes cache_valid_time=600
when: ansible_os_family == 'Debian' when: ansible_facts.os_family == 'Debian'
changed_when: false changed_when: false
- name: Install cron (RedHat). - name: Install cron (RedHat).
yum: name=cronie state=present yum: name=cronie state=present
when: ansible_os_family == 'RedHat' when: ansible_facts.os_family == 'RedHat'
- name: Install cron (Debian). - name: Install cron (Debian).
apt: name=cron state=present apt: name=cron state=present
when: ansible_os_family == 'Debian' when: ansible_facts.os_family == 'Debian'
roles: roles:
- geerlingguy.git - geerlingguy.git
@@ -111,19 +111,19 @@
pre_tasks: pre_tasks:
- name: Update apt cache. - name: Update apt cache.
apt: update_cache=true cache_valid_time=600 apt: update_cache=true cache_valid_time=600
when: ansible_os_family == 'Debian' when: ansible_facts.os_family == 'Debian'
changed_when: false changed_when: false
- name: Install dependencies (RedHat). - name: Install dependencies (RedHat).
yum: name={{ item }} state=present yum: name={{ item }} state=present
when: ansible_os_family == 'RedHat' when: ansible_facts.os_family == 'RedHat'
with_items: with_items:
- cronie - cronie
- epel-release - epel-release
- name: Install cron (Debian). - name: Install cron (Debian).
apt: name=cron state=present apt: name=cron state=present
when: ansible_os_family == 'Debian' when: ansible_facts.os_family == 'Debian'
roles: roles:
- geerlingguy.certbot - geerlingguy.certbot
+4 -4
View File
@@ -21,25 +21,25 @@
- name: Create pre hook to stop services. - name: Create pre hook to stop services.
template: template:
src: stop_services.j2 src: "{{ certbot_pre_hook_template }}"
dest: /etc/letsencrypt/renewal-hooks/pre/stop_services dest: /etc/letsencrypt/renewal-hooks/pre/stop_services
owner: root owner: root
group: root group: root
mode: 0750 mode: 0750
when: when:
- certbot_create_standalone_stop_services is defined - certbot_create_standalone_stop_services is defined
- certbot_create_standalone_stop_services - certbot_create_standalone_stop_services is truthy
- name: Create post hook to start services. - name: Create post hook to start services.
template: template:
src: start_services.j2 src: "{{ certbot_post_hook_template }}"
dest: /etc/letsencrypt/renewal-hooks/post/start_services dest: /etc/letsencrypt/renewal-hooks/post/start_services
owner: root owner: root
group: root group: root
mode: 0750 mode: 0750
when: when:
- certbot_create_standalone_stop_services is defined - certbot_create_standalone_stop_services is defined
- certbot_create_standalone_stop_services - certbot_create_standalone_stop_services is truthy
- name: Check if domains have changed - name: Check if domains have changed
block: block:
+3 -3
View File
@@ -2,7 +2,7 @@
- name: Load a variable file based on the OS type, or a default if not found. - name: Load a variable file based on the OS type, or a default if not found.
include_vars: "{{ item }}" include_vars: "{{ item }}"
with_first_found: with_first_found:
- "{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml" - "{{ ansible_facts.distribution }}-{{ ansible_facts.distribution_version }}.yml"
- "{{ ansible_distribution }}.yml" - "{{ ansible_facts.distribution }}.yml"
- "{{ ansible_os_family }}.yml" - "{{ ansible_facts.os_family }}.yml"
- "default.yml" - "default.yml"
+3 -1
View File
@@ -1,6 +1,8 @@
--- ---
- name: Install Certbot. - name: Install Certbot.
package: "name={{ certbot_package }} state=present" package:
name: "{{ certbot_package }}"
state: present
- name: Set Certbot script variable. - name: Set Certbot script variable.
set_fact: set_fact:
+1 -1
View File
@@ -16,7 +16,7 @@
src: /var/lib/snapd/snap src: /var/lib/snapd/snap
dest: /snap dest: /snap
state: link state: link
when: ansible_os_family != "Debian" when: ansible_facts.os_family != "Debian"
- name: Update snap after install. - name: Update snap after install.
shell: snap install core; snap refresh core shell: snap install core; snap refresh core
+1 -1
View File
@@ -2,7 +2,7 @@
- import_tasks: include-vars.yml - import_tasks: include-vars.yml
- import_tasks: setup-RedHat.yml - import_tasks: setup-RedHat.yml
when: ansible_os_family == 'RedHat' when: ansible_facts.os_family == 'RedHat'
- import_tasks: install-with-package.yml - import_tasks: install-with-package.yml
when: certbot_install_method == 'package' when: certbot_install_method == 'package'
+3 -3
View File
@@ -3,11 +3,11 @@
{% for item in certbot_create_standalone_stop_services %} {% for item in certbot_create_standalone_stop_services %}
echo "starting service {{ item }}" echo "starting service {{ item }}"
{% if ansible_service_mgr == 'systemd' %} {% if ansible_facts.service_mgr == 'systemd' %}
systemctl start {{ item }} systemctl start {{ item }}
{% elif ansible_service_mgr == 'upstart' %} {% elif ansible_facts.service_mgr == 'upstart' %}
initctl start {{ item }} initctl start {{ item }}
{% elif ansible_service_mgr == 'openrc' %} {% elif ansible_facts.service_mgr == 'openrc' %}
rc-service {{ item }} start rc-service {{ item }} start
{% else %} {% else %}
service {{ item }} start service {{ item }} start
+3 -3
View File
@@ -3,11 +3,11 @@
{% for item in certbot_create_standalone_stop_services %} {% for item in certbot_create_standalone_stop_services %}
echo "stopping service {{ item }}" echo "stopping service {{ item }}"
{% if ansible_service_mgr == 'systemd' %} {% if ansible_facts.service_mgr == 'systemd' %}
systemctl stop {{ item }} systemctl stop {{ item }}
{% elif ansible_service_mgr == 'upstart' %} {% elif ansible_facts.service_mgr == 'upstart' %}
initctl stop {{ item }} initctl stop {{ item }}
{% elif ansible_service_mgr == 'openrc' %} {% elif ansible_facts.service_mgr == 'openrc' %}
rc-service {{ item }} stop rc-service {{ item }} stop
{% else %} {% else %}
service {{ item }} stop service {{ item }} stop