Add Certbot DNS Playbook
This commit is contained in:
parent
762995e44b
commit
b7aff55219
47
Ansible/playbooks/pki.yml
Normal file
47
Ansible/playbooks/pki.yml
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
- name: Public Key Infrastructure
|
||||
hosts: debian_servers
|
||||
remote_user: bhays
|
||||
become: true
|
||||
become_user: root
|
||||
vars_files:
|
||||
- ../homelab-vault/secrets.yml
|
||||
vars:
|
||||
certbot_auto_renew: true
|
||||
certbot_auto_renew_user: root
|
||||
certbot_email: "ben@benhays.org"
|
||||
certbot_cloudflare_api_token: "{{ CF_API_TOKEN }}"
|
||||
roles:
|
||||
- geerlingguy.certbot
|
||||
pre_tasks:
|
||||
- name: Update apt cache if needed.
|
||||
ansible.builtin.apt:
|
||||
update_cache: true
|
||||
cache_valid_time: 3600
|
||||
tasks:
|
||||
- name: Update/install Certbot
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- python3-certbot-dns-cloudflare
|
||||
state: latest
|
||||
- name: Create Certbot folder - /etc/letsencrypt
|
||||
ansible.builtin.file:
|
||||
path: /etc/letsencrypt
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0700"
|
||||
- name: Certbot Template
|
||||
ansible.builtin.template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0600"
|
||||
with_items:
|
||||
- { src: '../templates/dnscloudflare.ini.j2', dest: '/etc/letsencrypt/dnscloudflare.ini' }
|
||||
- name: Generate Certificate
|
||||
# yamllint disable rule:line-length
|
||||
ansible.builtin.command: certbot certonly --non-interactive --agree-tos --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/dnscloudflare.ini --dns-cloudflare-propagation-seconds 60 -m {{ certbot_email }} -d {{ ansible_host }}
|
||||
args:
|
||||
creates: /etc/letsencrypt/renewal/{{ ansible_host }}.conf
|
1
Ansible/templates/dnscloudflare.ini.j2
Normal file
1
Ansible/templates/dnscloudflare.ini.j2
Normal file
@ -0,0 +1 @@
|
||||
dns_cloudflare_api_token = {{certbot_cloudflare_api_token}}
|
Loading…
Reference in New Issue
Block a user