Add certbot role
This commit is contained in:
parent
e3cdb84192
commit
932f04db5b
3
roles/certbot/defaults/main.yaml
Normal file
3
roles/certbot/defaults/main.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
certbot_package_name: certbot
|
||||
certbot_package_state: present
|
4
roles/certbot/tasks/Ubuntu.yaml
Normal file
4
roles/certbot/tasks/Ubuntu.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
- name: configure ppa
|
||||
apt_repository:
|
||||
repo: "ppa:certbot/certbot"
|
9
roles/certbot/tasks/issue.yaml
Normal file
9
roles/certbot/tasks/issue.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
- name: "determine if certificate for {{ item.domains | join(', ') }}"
|
||||
stat:
|
||||
path: "/etc/letsencrypt/live/{{ item.domains | first }}/cert.pem"
|
||||
register: st
|
||||
|
||||
- name: "request certificate for {{ item.domains | join(', ') }}"
|
||||
command: "[[ ! -e certbot certonly --webroot -w {{ certbot_challenge_webroot_path }} --agree-tos --noninteractive --email {{ item.email }} -d {{ item.domains | join(',') }}"
|
||||
when: not st.stat.exists
|
41
roles/certbot/tasks/main.yaml
Normal file
41
roles/certbot/tasks/main.yaml
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
- name: gather os specific variables
|
||||
include_vars: "{{ lookup('first_found', possible_files) }}"
|
||||
vars:
|
||||
possible_files:
|
||||
files:
|
||||
- "{{ ansible_distribution }}-{{ ansible_distribution_version }}.yaml"
|
||||
- "{{ ansible_distribution }}.yaml"
|
||||
- "{{ ansible_os_family }}.yaml"
|
||||
- "default.yaml"
|
||||
paths:
|
||||
- vars
|
||||
|
||||
- name: include os specific tasks
|
||||
include_tasks: "{{ lookup('first_found', possible_files) }}"
|
||||
vars:
|
||||
possible_files:
|
||||
files:
|
||||
- "{{ ansible_distribution }}-{{ ansible_distribution_version }}.yaml"
|
||||
- "{{ ansible_distribution }}.yaml"
|
||||
- "{{ ansible_os_family }}.yaml"
|
||||
- "default.yaml"
|
||||
paths:
|
||||
- tasks
|
||||
|
||||
- name: install certbot modules
|
||||
package:
|
||||
name: "{{ certbot_package_name }}"
|
||||
state: "{{ certbot_package_state }}"
|
||||
|
||||
- name: configure challenge webroot
|
||||
file:
|
||||
path: "{{ certbot_challenge_webroot_path }}"
|
||||
state: "directory"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0755
|
||||
|
||||
- name: request certificates
|
||||
include_tasks: "issue.yaml"
|
||||
loop: "{{ certbot_certificates }}"
|
2
roles/certbot/vars/Debian.yaml
Normal file
2
roles/certbot/vars/Debian.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
certbot_challenge_webroot_path: /var/www/.acme-challenge
|
Loading…
Reference in New Issue
Block a user