Le hostname est paramétrable dans les host_vars

This commit is contained in:
southerntofu 2020-04-12 16:50:08 +00:00
parent 9a25151a57
commit c4ec13fbd8
6 changed files with 18 additions and 21 deletions

View File

@ -28,5 +28,7 @@ Pour créer un compte, il suffit de le déclarer dans host_vars/fr.yml:
- Meta - Meta
- [ ] Rendre le playbook bootstrappable (ajouter des étapes intermédiaires pour éviter que nginx et certbot se mordent la queue sur une nouvelle install) - [ ] Rendre le playbook bootstrappable (ajouter des étapes intermédiaires pour éviter que nginx et certbot se mordent la queue sur une nouvelle install)
- [ ] Traduire tout le playbook en français - [ ] Traduire tout le playbook en français
- [ ] Rendre le hostname paramétrable (pour pouvoir forker) - [x] Hostname paramétrable (pour pouvoir forker)
- [ ] Certaines tâches devraient tourner seulement quand unE user est ajoutéE - [ ] Certaines tâches devraient tourner seulement quand unE user est ajoutéE
- [ ] Un playbook pour les updates? apt + cargo
- [ ] Documenter le playbook

View File

@ -1,3 +1,4 @@
hostname: fr.tild3.org
users: users:
- name: tofu - name: tofu
sudo: true sudo: true

View File

@ -18,8 +18,8 @@ server {
listen 443 ssl default_server; listen 443 ssl default_server;
listen [::]:443 ssl default_server; listen [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/fr.tild3.org/fullchain.pem; ssl_certificate /etc/letsencrypt/live/{{ hostname }}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/fr.tild3.org/privkey.pem; ssl_certificate_key /etc/letsencrypt/live/{{ hostname }}/privkey.pem;
server_name _; server_name _;
root /var/www/html; root /var/www/html;

View File

@ -3,9 +3,9 @@ server {
listen 443 ssl; listen 443 ssl;
listen [::]:443 ssl; listen [::]:443 ssl;
ssl_certificate /etc/letsencrypt/live/{{ user.name }}.fr.tild3.org/fullchain.pem; ssl_certificate /etc/letsencrypt/live/{{ user.name }}.{{ hostname }}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/{{ user.name }}.fr.tild3.org/privkey.pem; ssl_certificate_key /etc/letsencrypt/live/{{ user.name }}.{{ hostname }}/privkey.pem;
server_name {{ user.name }}.fr.tild3.org; server_name {{ user.name }}.{{ hostname }};
root /home/{{ user.name }}/public_html; root /home/{{ user.name }}/public_html;
index index.html; index index.html;

View File

@ -1,10 +1,10 @@
- name: Generate main certificate - name: Generate main certificate
command: command:
creates: /etc/letsencrypt/live/fr.tild3.org/fullchain.pem creates: /etc/letsencrypt/live/{{ hostname }}/fullchain.pem
cmd: certbot certonly --non-interactive --agree-tos --webroot -w /var/www/html -d fr.tild3.org -d www.fr.tild3.org cmd: certbot certonly --non-interactive --agree-tos --webroot -w /var/www/html -d {{ hostname }} -d www.{{ hostname }}
- name: Generate user certificates - name: Generate user certificates
command: command:
creates: "/etc/letsencrypt/live/{{ item.name }}.fr.tild3.org/fullchain.pem" creates: "/etc/letsencrypt/live/{{ item.name }}.{{ hostname }}/fullchain.pem"
cmd: "certbot certonly --non-interactive --agree-tos --webroot -w /var/www/html -d {{ item.name }}.fr.tild3.org" cmd: "certbot certonly --non-interactive --agree-tos --webroot -w /var/www/html -d {{ item.name }}.{{ hostname }}"
loop: "{{ users }}" loop: "{{ users }}"

View File

@ -1,21 +1,15 @@
#This play configs apapche for us - name: Deploy default site configuration
--- template:
src: ../files/default-site.conf.j2
dest: /etc/nginx/sites-available/default-site.conf
notify: reload nginx
#Sites
- name: Prepare symlink for default site - name: Prepare symlink for default site
file: file:
src: /etc/nginx/sites-available/default-site.conf src: /etc/nginx/sites-available/default-site.conf
dest: /etc/nginx/sites-enabled/default-site.conf dest: /etc/nginx/sites-enabled/default-site.conf
state: link state: link
- name: Deploy default site configuration
copy:
src: ../files/default-site.conf
dest: /etc/nginx/sites-available/default-site.conf
force: yes
follow: no
notify: reload nginx
- name: Deploy TLS config - name: Deploy TLS config
copy: copy:
src: ../files/ssl.conf src: ../files/ssl.conf