53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
| ---
 | |
| - name: Install certbot and RFC2136 plugin
 | |
|   apt:
 | |
|     update_cache: true
 | |
|     name:
 | |
|       - certbot
 | |
|       - python3-certbot-dns-rfc2136
 | |
|     state: present
 | |
|   register: apt_result
 | |
|   retries: 3
 | |
|   until: apt_result is succeeded
 | |
| 
 | |
| - name: Add DNS credentials
 | |
|   template:
 | |
|     src: letsencrypt/rfc2136.ini.j2
 | |
|     dest: "/etc/letsencrypt/rfc2136.{{ item.certname }}.ini"
 | |
|     mode: 0600
 | |
|     owner: root
 | |
|   loop: "{{ certbot }}"
 | |
| 
 | |
| - name: Add dhparam
 | |
|   template:
 | |
|     src: "letsencrypt/dhparam.j2"
 | |
|     dest: "/etc/letsencrypt/dhparam"
 | |
|     mode: 0600
 | |
| 
 | |
| - name: Create /etc/letsencrypt/conf.d
 | |
|   file:
 | |
|     path: /etc/letsencrypt/conf.d
 | |
|     state: directory
 | |
| 
 | |
| - name: Add Certbot configuration
 | |
|   template:
 | |
|     src: "letsencrypt/conf.d/certname.ini.j2"
 | |
|     dest: "/etc/letsencrypt/conf.d/{{ item.certname }}.ini"
 | |
|     mode: 0644
 | |
|   loop: "{{ certbot }}"
 | |
| 
 | |
| - name: Run certbot
 | |
|   command: certbot --non-interactive --config /etc/letsencrypt/conf.d/{{ item.certname }}.ini certonly
 | |
|   register: certbot_output
 | |
|   changed_when: not "Certificate not yet due for renewal" in certbot_output.stdout
 | |
|   loop: "{{ certbot }}"
 | |
| 
 | |
| - name: Clean old files
 | |
|   file:
 | |
|     path: "{{ item }}"
 | |
|     state: absent
 | |
|   loop:
 | |
|     - "/etc/letsencrypt/options-ssl-nginx.conf"
 | |
|     - "/etc/letsencrypt/ssl-dhparams.pem"
 | |
|     - "/etc/letsencrypt/rfc2136.ini"
 |