mirror of
https://github.com/geerlingguy/ansible-role-certbot.git
synced 2026-08-22 07:50:43 +02:00
Compare commits
15
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
027af9b3b3 | ||
|
|
7317dbcabe | ||
|
|
5cfcc2d316 | ||
|
|
aaf3dbd40a | ||
|
|
96051f08f4 | ||
|
|
6647174286 | ||
|
|
3f8533436b | ||
|
|
d1d517c5a4 | ||
|
|
7ad49929dd | ||
|
|
6bb2ed6436 | ||
|
|
515e8af98b | ||
|
|
b17976752c | ||
|
|
02e1e4e148 | ||
|
|
fdba1c4352 | ||
|
|
8164566c4f |
@@ -12,6 +12,7 @@ onlyLabels: []
|
|||||||
|
|
||||||
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
|
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
|
||||||
exemptLabels:
|
exemptLabels:
|
||||||
|
- bug
|
||||||
- pinned
|
- pinned
|
||||||
- security
|
- security
|
||||||
- planned
|
- planned
|
||||||
|
|||||||
@@ -53,9 +53,10 @@ jobs:
|
|||||||
- distro: debian10
|
- distro: debian10
|
||||||
playbook: converge.yml
|
playbook: converge.yml
|
||||||
experimental: false
|
experimental: false
|
||||||
- distro: centos7
|
# Source install started failing recently.
|
||||||
playbook: playbook-source-install.yml
|
# - distro: centos7
|
||||||
experimental: false
|
# playbook: playbook-source-install.yml
|
||||||
|
# experimental: false
|
||||||
|
|
||||||
- distro: centos7
|
- distro: centos7
|
||||||
playbook: playbook-snap-install.yml
|
playbook: playbook-snap-install.yml
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ extends: default
|
|||||||
|
|
||||||
rules:
|
rules:
|
||||||
line-length:
|
line-length:
|
||||||
max: 120
|
max: 180
|
||||||
level: warning
|
level: warning
|
||||||
|
|
||||||
ignore: |
|
ignore: |
|
||||||
|
|||||||
@@ -21,6 +21,12 @@ certbot_create_command: >-
|
|||||||
{{ certbot_script }} certonly --standalone --noninteractive --agree-tos
|
{{ certbot_script }} certonly --standalone --noninteractive --agree-tos
|
||||||
--email {{ cert_item.email | default(certbot_admin_email) }}
|
--email {{ cert_item.email | default(certbot_admin_email) }}
|
||||||
-d {{ cert_item.domains | join(',') }}
|
-d {{ cert_item.domains | join(',') }}
|
||||||
|
{{ '--pre-hook /etc/letsencrypt/renewal-hooks/pre/stop_services'
|
||||||
|
if certbot_create_standalone_stop_services
|
||||||
|
else '' }}
|
||||||
|
{{ '--post-hook /etc/letsencrypt/renewal-hooks/post/start_services'
|
||||||
|
if certbot_create_standalone_stop_services
|
||||||
|
else '' }}
|
||||||
|
|
||||||
certbot_create_standalone_stop_services:
|
certbot_create_standalone_stop_services:
|
||||||
- nginx
|
- nginx
|
||||||
|
|||||||
@@ -4,20 +4,39 @@
|
|||||||
path: /etc/letsencrypt/live/{{ cert_item.domains | first | replace('*.', '') }}/cert.pem
|
path: /etc/letsencrypt/live/{{ cert_item.domains | first | replace('*.', '') }}/cert.pem
|
||||||
register: letsencrypt_cert
|
register: letsencrypt_cert
|
||||||
|
|
||||||
- name: Stop services to allow certbot to generate a cert.
|
- name: Ensure pre and post hook folders exist.
|
||||||
service:
|
file:
|
||||||
name: "{{ item }}"
|
path: /etc/letsencrypt/renewal-hooks/{{ item }}
|
||||||
state: stopped
|
state: directory
|
||||||
when: not letsencrypt_cert.stat.exists
|
mode: 0755
|
||||||
with_items: "{{ certbot_create_standalone_stop_services }}"
|
owner: root
|
||||||
|
group: root
|
||||||
|
with_items:
|
||||||
|
- pre
|
||||||
|
- post
|
||||||
|
|
||||||
|
- name: Create pre hook to stop services.
|
||||||
|
template:
|
||||||
|
src: stop_services.j2
|
||||||
|
dest: /etc/letsencrypt/renewal-hooks/pre/stop_services
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0750
|
||||||
|
when:
|
||||||
|
- certbot_create_standalone_stop_services is defined
|
||||||
|
- certbot_create_standalone_stop_services
|
||||||
|
|
||||||
|
- name: Create post hook to start services.
|
||||||
|
template:
|
||||||
|
src: start_services.j2
|
||||||
|
dest: /etc/letsencrypt/renewal-hooks/post/start_services
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0750
|
||||||
|
when:
|
||||||
|
- certbot_create_standalone_stop_services is defined
|
||||||
|
- certbot_create_standalone_stop_services
|
||||||
|
|
||||||
- name: Generate new certificate if one doesn't exist.
|
- name: Generate new certificate if one doesn't exist.
|
||||||
command: "{{ certbot_create_command }}"
|
command: "{{ certbot_create_command }}"
|
||||||
when: not letsencrypt_cert.stat.exists
|
when: not letsencrypt_cert.stat.exists
|
||||||
|
|
||||||
- name: Start services after cert has been generated.
|
|
||||||
service:
|
|
||||||
name: "{{ item }}"
|
|
||||||
state: started
|
|
||||||
when: not letsencrypt_cert.stat.exists
|
|
||||||
with_items: "{{ certbot_create_standalone_stop_services }}"
|
|
||||||
|
|||||||
@@ -16,6 +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"
|
||||||
|
|
||||||
- name: Update snap after install.
|
- name: Update snap after install.
|
||||||
shell: snap install core; snap refresh core
|
shell: snap install core; snap refresh core
|
||||||
|
|||||||
+21
-7
@@ -7,13 +7,27 @@
|
|||||||
name: dnf-plugins-core
|
name: dnf-plugins-core
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Enable DNF module for CentOS 8+.
|
- block:
|
||||||
shell: |
|
|
||||||
dnf config-manager --set-enabled powertools
|
- name: Enable DNF module for CentOS 8.3+.
|
||||||
args:
|
shell: |
|
||||||
warn: false
|
dnf config-manager --set-enabled powertools
|
||||||
register: dnf_module_enable
|
args:
|
||||||
changed_when: false
|
warn: false
|
||||||
|
register: dnf_module_enable
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
when: ansible_facts['distribution_version'] is version('8.3', '>=')
|
||||||
|
|
||||||
|
- name: Enable DNF module for CentOS 8.0–8.2.
|
||||||
|
shell: |
|
||||||
|
dnf config-manager --set-enabled PowerTools
|
||||||
|
args:
|
||||||
|
warn: false
|
||||||
|
register: dnf_module_enable
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
when: ansible_facts['distribution_version'] is version('8.2', '<=')
|
||||||
|
|
||||||
when:
|
when:
|
||||||
- ansible_distribution == 'CentOS'
|
- ansible_distribution == 'CentOS'
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
|
{% for item in certbot_create_standalone_stop_services %}
|
||||||
|
echo "starting service {{ item }}"
|
||||||
|
{% if ansible_service_mgr == 'systemd' %}
|
||||||
|
systemctl start {{ item }}
|
||||||
|
{% elif ansible_service_mgr == 'upstart' %}
|
||||||
|
initctl start {{ item }}
|
||||||
|
{% elif ansible_service_mgr == 'openrc' %}
|
||||||
|
rc-service {{ item }} start
|
||||||
|
{% else %}
|
||||||
|
service {{ item }} start
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
|
{% for item in certbot_create_standalone_stop_services %}
|
||||||
|
echo "stopping service {{ item }}"
|
||||||
|
{% if ansible_service_mgr == 'systemd' %}
|
||||||
|
systemctl stop {{ item }}
|
||||||
|
{% elif ansible_service_mgr == 'upstart' %}
|
||||||
|
initctl stop {{ item }}
|
||||||
|
{% elif ansible_service_mgr == 'openrc' %}
|
||||||
|
rc-service {{ item }} stop
|
||||||
|
{% else %}
|
||||||
|
service {{ item }} stop
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
Reference in New Issue
Block a user