From 910479a37f40bdb3427a990543f460c06758a68d Mon Sep 17 00:00:00 2001 From: southerntofu Date: Fri, 15 May 2020 10:59:39 +0000 Subject: [PATCH] Euh tout est bon pour forgehook? --- config.yml | 2 +- roles/.custom/files/forgehook/nginx.conf | 11 +++++++++++ roles/.custom/handlers | 1 + roles/.custom/tasks/forgehook/main.yml | 19 +++++-------------- roles/.custom/tasks/main.yml | 15 ++------------- roles/.custom/tasks/zola/main.yml | 2 +- roles/webserver/files/default-site.conf.j2 | 2 ++ roles/webserver/handlers/main.yml | 2 +- roles/webserver/tasks/nginx.yml | 5 +++++ 9 files changed, 29 insertions(+), 30 deletions(-) create mode 100644 roles/.custom/files/forgehook/nginx.conf create mode 120000 roles/.custom/handlers diff --git a/config.yml b/config.yml index 89975b7..aa57c2a 100644 --- a/config.yml +++ b/config.yml @@ -9,7 +9,7 @@ peers: packages: debian: [ subversion, mercurial, htop, tmux, vim, emacs, mutt, weechat, elinks, rsync, dnsutils, make, g++, libssl-dev, mosh, gopher, sl ] rust: [ lsd ] - custom: [ zola, ttbp ] + custom: [ zola, ttbp, forgehook ] users: - name: tofu sudo: true diff --git a/roles/.custom/files/forgehook/nginx.conf b/roles/.custom/files/forgehook/nginx.conf new file mode 100644 index 0000000..fd24270 --- /dev/null +++ b/roles/.custom/files/forgehook/nginx.conf @@ -0,0 +1,11 @@ +location /.well-known/forgehook { + alias /opt/forgehook/source/public; + index index.html index.php; + try_files $uri $uri/ /index.php; + + location ~ \.php$ { + include fastcgi.conf; + fastcgi_param SCRIPT_FILENAME $request_filename; + fastcgi_pass unix:/opt/forgehook/php.sock; + } +} diff --git a/roles/.custom/handlers b/roles/.custom/handlers new file mode 120000 index 0000000..6086f46 --- /dev/null +++ b/roles/.custom/handlers @@ -0,0 +1 @@ +../webserver/handlers/ \ No newline at end of file diff --git a/roles/.custom/tasks/forgehook/main.yml b/roles/.custom/tasks/forgehook/main.yml index a47cd8b..ad57493 100644 --- a/roles/.custom/tasks/forgehook/main.yml +++ b/roles/.custom/tasks/forgehook/main.yml @@ -17,7 +17,7 @@ shell: chdir: /opt/forgehook/source cmd: bash setup.sh - when: repo_updated.changed + when: repo_update.changed # TODO: Ici on présume très très fortement que webserver est activé et PHP installé -> mettre en place un vrai système d'interface entre rôles # TODO: Here we strongly assume webserver is enabled and PHP setup -> need a real interface/dependency system between roles @@ -27,24 +27,15 @@ src: ../../files/forgehook/php.conf dest: /etc/php/7.3/fpm/pool.d/forgehook.conf notify: webserver-reload-php - failed_when: "webserver" not in roles - name: custom-forgehook-endpoint copy: remote_src: yes - src: /opt/forgehook/source/endpoints/endpoint.php + src: /opt/forgehook/source/endpoints/index.php dest: /opt/forgehook/source/public/index.php - name: custom-forgehook-nginx - blockinfile: - validate: nginx -t - insertbefore: "location / {" - block: | - location /.well-known/forgehook { - include snippets/fastcgi-php.conf; - root /opt/forgehook/source/public; - try_files $uri $uri/ /index.php; - fastcgi_pass unix:/opt/forgehook/php.sock; - } + copy: + src: ../../files/forgehook/nginx.conf + dest: /etc/nginx/conf.d/well-known/forgehook.conf notify: webserver-reload-nginx - failed_when: "webserver" not in roles diff --git a/roles/.custom/tasks/main.yml b/roles/.custom/tasks/main.yml index a0e159c..0a06c69 100644 --- a/roles/.custom/tasks/main.yml +++ b/roles/.custom/tasks/main.yml @@ -1,14 +1,3 @@ -# Pour l'instant, il n'est pas possible d'avoir un paquet qui ne porte pas le nom de son binaire -# parce qu'on vérifie que le binaire est installé -# A terme, ça sera à chaque paquet de vérifier lui-même s'il est installé - -# Vérifier quels paquets custom sont installés -- stat: - path: "/usr/local/bin/{{ item }}" - loop: "{{ packages.custom }}" - register: custom_exists - - name: "Installer les paquets custom activés dans la config" - include: "{{ item.item }}/main.yml" - loop: "{{ custom_exists.results | default([]) }}" - when: not item.stat.exists + include: "{{ item }}/main.yml" + loop: "{{ packages.custom }}" diff --git a/roles/.custom/tasks/zola/main.yml b/roles/.custom/tasks/zola/main.yml index db34f30..1a27066 100644 --- a/roles/.custom/tasks/zola/main.yml +++ b/roles/.custom/tasks/zola/main.yml @@ -2,6 +2,6 @@ # Donc on copie un binaire que j'ai compilé avec amour - name: custom-zola-setup copy: - src: ../../files/bin/zola + src: ../../files/zola/zola dest: /usr/local/bin/zola mode: 0755 diff --git a/roles/webserver/files/default-site.conf.j2 b/roles/webserver/files/default-site.conf.j2 index 0a4bd7a..f3e0894 100644 --- a/roles/webserver/files/default-site.conf.j2 +++ b/roles/webserver/files/default-site.conf.j2 @@ -31,6 +31,8 @@ server { #try_files $2 $2/ = 404; } + include /etc/nginx/conf.d/well-known/*.conf; + location / { try_files $uri $uri/ =404; } diff --git a/roles/webserver/handlers/main.yml b/roles/webserver/handlers/main.yml index 91d96a5..0bfd79b 100644 --- a/roles/webserver/handlers/main.yml +++ b/roles/webserver/handlers/main.yml @@ -2,4 +2,4 @@ service: name=nginx state=restarted - name: webserver-reload-php - service: name=php-fpm state=restarted + service: name=php7.3-fpm state=restarted diff --git a/roles/webserver/tasks/nginx.yml b/roles/webserver/tasks/nginx.yml index a8c2fa6..eb361c3 100644 --- a/roles/webserver/tasks/nginx.yml +++ b/roles/webserver/tasks/nginx.yml @@ -16,6 +16,11 @@ dest: /etc/nginx/conf.d/ssl.conf notify: webserver-reload-nginx +- name: TODO + file: + path: /etc/nginx/conf.d/well-known + state: directory + - name: webserver-personal-pages include: pages_perso.yml