Ansible roles
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

46 lines
1.6 KiB

---
- set_fact: role_wh_proxy={{ True }}
tags: web
- name: Deploy web hosting vhosts
template: src=nginx_vhosts.conf.j2 dest=/etc/nginx/ansible_conf.d/31-vhosts_wh.conf
notify: reload nginx
tags: web
- name: Build a list of client vhosts
set_fact:
wh_vhosts: "{{ wh_vhosts | default([]) + [ item.1.vhost | default(item.0.name + '-' + item.1.name + '.wh.fws.fr') ] }}"
loop: "{{ wh_clients | default([]) | subelements('apps') }}"
tags: web
- name: Check if Let's Encrypt's cert exist (web hosting)
stat: path=/var/lib/dehydrated/certificates/certs/{{ item }}/fullchain.pem
register: wh_letsencrypt_certs
with_items: "{{ wh_vhosts }}"
tags: web
- name: Create directories for missing Let's Encrypt cert (web hosting)
file: path=/var/lib/dehydrated/certificates/certs/{{ item.item }} state=directory
with_items: "{{ wh_letsencrypt_certs.results }}"
when:
- item.stat is defined
- not item.stat.exists
tags: web
- name: Link missing Let's Encrypt cert to the default one (web hosting)
file: src={{ nginx_cert_path }} dest=/var/lib/dehydrated/certificates/certs/{{ item.item }}/fullchain.pem state=link
with_items: "{{ wh_letsencrypt_certs.results }}"
when:
- item.stat is defined
- not item.stat.exists
tags: web
- name: Link missing Let's Encrypt key to the default one (web hosting)
file: src={{ nginx_key_path }} dest=/var/lib/dehydrated/certificates/certs/{{ item.item }}/privkey.pem state=link
with_items: "{{ wh_letsencrypt_certs.results }}"
when:
- item.stat is defined
- not item.stat.exists
tags: web