From b4dea966fc10a58d93981ab7353d377191e499cf Mon Sep 17 00:00:00 2001 From: rick Date: Fri, 24 Jun 2022 20:58:53 +0200 Subject: [PATCH] add libretls and use vars files for roles --- README.md | 2 + main.yml | 11 ++-- roles/cgit/tasks/main.yml | 22 ++++--- roles/cgit/vars/main.yml | 9 +++ roles/libretls/tasks/main.yml | 63 +++++++++++++++++++ roles/libretls/vars/main.yml | 6 ++ roles/site/tasks/main.yml | 4 +- .../principal.yml => roles/site/vars/main.yml | 0 vars/cgit.yml | 7 --- vars/sites.yml | 2 +- 10 files changed, 100 insertions(+), 26 deletions(-) create mode 100644 roles/cgit/vars/main.yml create mode 100644 roles/libretls/tasks/main.yml create mode 100644 roles/libretls/vars/main.yml rename vars/principal.yml => roles/site/vars/main.yml (100%) delete mode 100644 vars/cgit.yml diff --git a/README.md b/README.md index c93848e..36ac2c2 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,8 @@ Ils ne sont pas beau et je prévois de repasser dessus pour avoir une jolie structure de dossier et playbook. Tous les services sont destinés à être installé sur une même machine (pour l'instant). +Ils ont été écris afin d'être lancé sur Debian 10. + `ansible-playbook main.yml -i inventaire.ini` pour lancer l'installation. ## inventaire.ini diff --git a/main.yml b/main.yml index a44fd35..2414577 100644 --- a/main.yml +++ b/main.yml @@ -23,8 +23,6 @@ vars_files: - vars/sites.yml - - vars/cgit.yml - - vars/principal.yml vars: pounce_user: "pounce" pounce_home: "/home/{{ pounce_user }}" @@ -41,15 +39,16 @@ apt: name: - acl - - make - - gcc - - nginx - certbot + - gcc - git - - sudo + - make + - nginx - python3-pip + - sudo roles: + - libretls - cgit - site diff --git a/roles/cgit/tasks/main.yml b/roles/cgit/tasks/main.yml index 1287ed0..271b695 100644 --- a/roles/cgit/tasks/main.yml +++ b/roles/cgit/tasks/main.yml @@ -30,15 +30,17 @@ - zlib1g-dev - python3-certbot-nginx - fcgiwrap - - python3-zipp + #- python3-zipp - name: installation de pygments ansible.builtin.pip: - name: pygments + name: + - pygments + - zipp - name: création utilisateur cgit ansible.builtin.user: - name: "{{ git_user }}" + name: "{{ user }}" shell: "/bin/bash" state: present @@ -46,23 +48,23 @@ block: - name: clonage de cgit ansible.builtin.git: - dest: "{{ path_tmp_cgit }}" - repo: "https://git.zx2c4.com/cgit" + dest: "{{ path_tmp_git }}" + repo: "{{ git }}" single_branch: yes - name: configuration de la compilation de cgit template: src: "config-cgit.conf" - dest: "{{ path_tmp_cgit }}/cgit.conf" + dest: "{{ path_tmp_git }}/cgit.conf" mode: 0644 - name: compilation de cgit community.general.make: - chdir: "{{ path_tmp_cgit }}" + chdir: "{{ path_tmp_git }}" - name: installation de cgit community.general.make: - chdir: "{{ path_tmp_cgit }}" + chdir: "{{ path_tmp_git }}" target: install - name: configuration de cgit @@ -74,7 +76,7 @@ - name: clonage de gitolite ansible.builtin.git: dest: "{{ path_gitolite }}" - repo: "https://github.com/sitaramc/gitolite" + repo: "{{ git_gitolite }}" single_branch: yes - name: création du dossier bin @@ -113,7 +115,7 @@ regex: "UMASK" line: "\tUMASK => 0072," become: yes - become_user: git + become_user: "{{ user }}" - name: configuration de Nginx template: diff --git a/roles/cgit/vars/main.yml b/roles/cgit/vars/main.yml new file mode 100644 index 0000000..9992692 --- /dev/null +++ b/roles/cgit/vars/main.yml @@ -0,0 +1,9 @@ +--- +git: "https://git.zx2c4.com/cgit" +git_gitolite: "https://github.com/sitaramc/gitolite" +user: "git" +home_user: "/home/{{ user }}" +path_tmp_git: "{{ home_user }}/tmp" +path_cgit: "{{ home_user }}/cgit" +path_gitolite: "{{ home_user }}/gitolite" +admin_key: "cgit.pub" diff --git a/roles/libretls/tasks/main.yml b/roles/libretls/tasks/main.yml new file mode 100644 index 0000000..444ebca --- /dev/null +++ b/roles/libretls/tasks/main.yml @@ -0,0 +1,63 @@ +################################################################################ +# installation de libretls +# +# Copyright (C) 2022 rick G. +# +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . +################################################################################ + +--- +- name: update de la machine + apt: + update_cache: true + upgrade: yes + +- name: installation des paquets nécessaires + apt: + name: + - autoconf + - automake + - libtool + - libssl-dev + +- name: clonage de libretls + ansible.builtin.git: + dest: "{{ path_tmp_git }}" + repo: "{{ git }}" + single_branch: yes + +- name: autoreconf + ansible.builtin.command: + cmd: "autoreconf -fi" + chdir: "{{ path_tmp_git }}" + +- name: configure + ansible.builtin.command: + cmd: "{{ path_tmp_git }}/configure --disable-dependency-tracking" + chdir: "{{ path_tmp_git }}" + +- name: compilation de libretls + community.general.make: + chdir: "{{ path_tmp_git }}" + target: all + +- name: installation de libretls + community.general.make: + chdir: "{{ path_tmp_git }}" + target: install + +- name: copie de la bibliothèque de libretls + file: + src: "{{ path_local_lib }}" + dest: "{{ path_global_lib }}" + state: link diff --git a/roles/libretls/vars/main.yml b/roles/libretls/vars/main.yml new file mode 100644 index 0000000..3662f0b --- /dev/null +++ b/roles/libretls/vars/main.yml @@ -0,0 +1,6 @@ +--- +git: "https://git.causal.agency/libretls/" +path_tmp_git: "/tmp/libretls" +lib_name: "libtls.so.25" +path_local_lib: "/usr/local/lib/{{ lib_name }}" +path_global_lib: "/usr/lib/{{ lib_name }}" diff --git a/roles/site/tasks/main.yml b/roles/site/tasks/main.yml index 4bf21cd..bd62387 100644 --- a/roles/site/tasks/main.yml +++ b/roles/site/tasks/main.yml @@ -1,5 +1,5 @@ ################################################################################ -# installation de cgit et configuration de nginx et gitolite +# installation de mon site personnel # # Copyright (C) 2022 rick G. # @@ -36,7 +36,7 @@ - name: installation de htmlize ansible.builtin.command: - cmd: "emacs -u {{ user }} --script /tmp/init.el" + cmd: "emacs -u {{ user_default }} --script /tmp/init.el" ignore_errors: yes - name: clonage du site diff --git a/vars/principal.yml b/roles/site/vars/main.yml similarity index 100% rename from vars/principal.yml rename to roles/site/vars/main.yml diff --git a/vars/cgit.yml b/vars/cgit.yml deleted file mode 100644 index 02c3e30..0000000 --- a/vars/cgit.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -git_user: "git" -home_user: "/home/{{ git_user }}" -path_tmp_cgit: "{{ home_user }}/tmp" -path_cgit: "{{ home_user }}/cgit" -path_gitolite: "{{ home_user }}/gitolite" -admin_key: "cgit.pub" diff --git a/vars/sites.yml b/vars/sites.yml index 5bd43cf..e71e32c 100644 --- a/vars/sites.yml +++ b/vars/sites.yml @@ -2,6 +2,6 @@ site: "" cgit_site: "" -user: "ubuntu" +user_default: "ubuntu" ava: "/etc/nginx/sites-available" ena: "/etc/nginx/sites-enabled"