From e965ce9acddfa4a5ed21cf5f3ee6cdd3c6a4d2a0 Mon Sep 17 00:00:00 2001
From: korenstin <korenstin@crans.org>
Date: Sat, 14 Dec 2024 21:49:57 +0100
Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation=20de=20README,=20suppression=20d'?=
 =?UTF-8?q?=C3=A9l=C3=A9ments=20inutiles?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 group_vars/all/mirror.yml                     |   2 -
 host_vars/fyre.adm.crans.org.yml              | 168 +++++++++---------
 roles/ceph/tasks/main.yml                     |  27 ---
 roles/common-tools/README.md                  |   9 +
 roles/debian-apt-sources/README.md            |   3 +
 roles/ethercalc/README.md                     |   8 +
 roles/etherpad/README.md                      |  31 ++++
 roles/logos/README.md                         |  12 ++
 roles/moinmoin-gendoc/README.md               |   3 +
 roles/moinmoin/README.md                      |   7 +
 roles/ntp-client/README.md                    |   8 +
 roles/ntp-server/README.md                    |   8 +
 roles/openssh/README.md                       |   3 +
 roles/prometheus/README.md                    |  10 ++
 roles/qemu-guest-agent/README.md              |   3 +
 roles/restic-client/README.md                 |  19 ++
 roles/restic-client/handlers/main.yml         |   4 +
 roles/root-config/README.md                   |   3 +
 roles/root-config/tasks/main.yml              |   2 +-
 roles/root/README.md                          |   6 +
 roles/sudo/README.md                          |   3 +
 roles/sudo/tasks/main.yml                     |  11 +-
 roles/sudo/templates/sudoers.bullseye.j2      |  27 ---
 roles/sudo/templates/sudoers.buster.j2        |  27 ---
 .../{sudoers.bookworm.j2 => sudoers.j2}       |   2 +-
 roles/wireguard/README.md                     |  19 ++
 roles/zamok-tools/README.md                   |   3 +
 27 files changed, 254 insertions(+), 174 deletions(-)
 delete mode 100644 roles/ceph/tasks/main.yml
 create mode 100644 roles/common-tools/README.md
 create mode 100644 roles/debian-apt-sources/README.md
 create mode 100644 roles/ethercalc/README.md
 create mode 100644 roles/etherpad/README.md
 create mode 100644 roles/logos/README.md
 create mode 100644 roles/moinmoin-gendoc/README.md
 create mode 100644 roles/moinmoin/README.md
 create mode 100644 roles/ntp-client/README.md
 create mode 100644 roles/ntp-server/README.md
 create mode 100644 roles/openssh/README.md
 create mode 100644 roles/prometheus/README.md
 create mode 100644 roles/qemu-guest-agent/README.md
 create mode 100644 roles/restic-client/README.md
 create mode 100644 roles/root-config/README.md
 create mode 100644 roles/root/README.md
 create mode 100644 roles/sudo/README.md
 delete mode 100644 roles/sudo/templates/sudoers.bullseye.j2
 delete mode 100644 roles/sudo/templates/sudoers.buster.j2
 rename roles/sudo/templates/{sudoers.bookworm.j2 => sudoers.j2} (85%)
 create mode 100644 roles/wireguard/README.md
 create mode 100644 roles/zamok-tools/README.md

diff --git a/group_vars/all/mirror.yml b/group_vars/all/mirror.yml
index 4b78e5cf..4df6a241 100644
--- a/group_vars/all/mirror.yml
+++ b/group_vars/all/mirror.yml
@@ -4,7 +4,5 @@ glob_mirror:
   ip: "{{ lookup('ldap', 'ip4', 'eclat', 'adm') }}"
 
 debian_mirror: http://mirror.adm.crans.org/debian
-ubuntu_mirror: http://mirror.adm.crans.org/ubuntu
 proxmox_mirror: http://mirror.adm.crans.org/proxmox/debian/pve
 debian_components: main contrib non-free
-ubuntu_components: main restricted universe multiverse
diff --git a/host_vars/fyre.adm.crans.org.yml b/host_vars/fyre.adm.crans.org.yml
index a1a19521..7effe867 100644
--- a/host_vars/fyre.adm.crans.org.yml
+++ b/host_vars/fyre.adm.crans.org.yml
@@ -10,69 +10,72 @@ loc_needrestart:
   override: []
 
 loc_prometheus:
-  node:
+
+  apache:
     config:
-      - job_name: servers
+      - job_name: apache
         file_sd_configs:
-          - files:
-              - '/etc/prometheus/targets/node.json'
+          - files: ['/etc/prometheus/targets/apache.json']
         relabel_configs:
           - source_labels: [__address__]
-            target_label: __param_target
-          - source_labels: [__param_target]
             target_label: instance
-          - source_labels: [__param_target]
+          - source_labels: [instance]
             target_label: __address__
-            replacement: '$1:9100'
+            replacement: '$1:9117'
 
-  nginx:
+  bind:
     config:
-      - job_name: nginx
+      - job_name: bind
         file_sd_configs:
           - files:
-              - '/etc/prometheus/targets/nginx.json'
+              - '/etc/prometheus/targets/bind.json'
         relabel_configs:
           - source_labels: [__address__]
+            target_label: __param_target
+          - source_labels: [__param_target]
             target_label: instance
-          - source_labels: [instance]
+          - source_labels: [__param_target]
             target_label: __address__
-            replacement: '$1:9117'
+            replacement: '$1:9119'
 
-  apache:
+  bird:
     config:
-      - job_name: apache
+      - job_name: bird
         file_sd_configs:
-          - files: ['/etc/prometheus/targets/apache.json']
+          - files:
+              - '/etc/prometheus/targets/bird.json'
         relabel_configs:
           - source_labels: [__address__]
+            target_label: __param_target
+          - source_labels: [__param_target]
             target_label: instance
-          - source_labels: [instance]
+          - source_labels: [__param_target]
             target_label: __address__
-            replacement: '$1:9117'
+            replacement: '$1:9324'
 
   blackbox:
     file: targets/blackbox.json
     targets:
-      - https://crans.org/
-      - https://www.crans.org/
-      - https://webirc.crans.org/
-      - https://jitsi.crans.org/
-      - https://ftps.crans.org/
       - http://ftp.crans.org/
-      - https://grafana.crans.org/
-      - https://roundcube.crans.org/
-      - https://zero.crans.org/
-      - https://wiki.crans.org/PageAccueil
-      - https://framadate.crans.org/
-      - https://pad.crans.org/
-      - https://lists.crans.org/
       - https://cas.crans.org/
+      - https://crans.org/
+      - https://www.crans.org/
       - https://ethercalc.crans.org/
+      - https://framadate.crans.org/
+      - https://ftps.crans.org/
       - https://gitlab.crans.org/
-      - https://perso.crans.org/crans/
+      - https://grafana.crans.org/
       - https://install-party.crans.org/
       - https://intranet.crans.org/
+      - https://jitsi.crans.org/
+      - https://lists.crans.org/
       - https://owncloud.crans.org/
+      - https://pad.crans.org/
+      - https://perso.crans.org/crans/
+      - https://roundcube.crans.org/
+      - https://webirc.crans.org/
+      - https://wiki.crans.org/PageAccueil
+      - https://zero.crans.org/
     config:
       - job_name: blackbox
         file_sd_configs:
@@ -106,27 +109,30 @@ loc_prometheus:
           - target_label: __address__
             replacement: 127.0.0.1:9115
 
-  bird:
+  ilo_snmp:
     config:
-      - job_name: bird
+      - job_name: ilo_snmp
         file_sd_configs:
           - files:
-              - '/etc/prometheus/targets/bird.json'
+              - '/etc/prometheus/targets/ilo_snmp.json'
+        metrics_path: '/snmp'
+        params:
+          module:
+            - ilo
         relabel_configs:
           - source_labels: [__address__]
             target_label: __param_target
           - source_labels: [__param_target]
             target_label: instance
-          - source_labels: [__param_target]
+          - replacement: '127.0.0.1:9116'
             target_label: __address__
-            replacement: '$1:9324'
 
-  bind:
+  mtail:
     config:
-      - job_name: bind
+      - job_name: mtail
         file_sd_configs:
           - files:
-              - '/etc/prometheus/targets/bind.json'
+              - '/etc/prometheus/targets/mtail.json'
         relabel_configs:
           - source_labels: [__address__]
             target_label: __param_target
@@ -134,14 +140,14 @@ loc_prometheus:
             target_label: instance
           - source_labels: [__param_target]
             target_label: __address__
-            replacement: '$1:9119'
+            replacement: '$1:3903'
 
-  postfix:
+  mysql:
     config:
-      - job_name: postfix
+      - job_name: mysql
         file_sd_configs:
           - files:
-              - '/etc/prometheus/targets/postfix.json'
+              - '/etc/prometheus/targets/mysql.json'
         relabel_configs:
           - source_labels: [__address__]
             target_label: __param_target
@@ -149,14 +155,27 @@ loc_prometheus:
             target_label: instance
           - source_labels: [__param_target]
             target_label: __address__
-            replacement: '$1:9154'
+            replacement: '$1:9104'
 
-  postgres:
+  nginx:
     config:
-      - job_name: postgres
+      - job_name: nginx
         file_sd_configs:
           - files:
-              - '/etc/prometheus/targets/postgres.json'
+              - '/etc/prometheus/targets/nginx.json'
+        relabel_configs:
+          - source_labels: [__address__]
+            target_label: instance
+          - source_labels: [instance]
+            target_label: __address__
+            replacement: '$1:9117'
+
+  node:
+    config:
+      - job_name: servers
+        file_sd_configs:
+          - files:
+              - '/etc/prometheus/targets/node.json'
         relabel_configs:
           - source_labels: [__address__]
             target_label: __param_target
@@ -164,14 +183,14 @@ loc_prometheus:
             target_label: instance
           - source_labels: [__param_target]
             target_label: __address__
-            replacement: '$1:9187'
+            replacement: '$1:9100'
 
-  mysql:
+  postfix:
     config:
-      - job_name: mysql
+      - job_name: postfix
         file_sd_configs:
           - files:
-              - '/etc/prometheus/targets/mysql.json'
+              - '/etc/prometheus/targets/postfix.json'
         relabel_configs:
           - source_labels: [__address__]
             target_label: __param_target
@@ -179,14 +198,14 @@ loc_prometheus:
             target_label: instance
           - source_labels: [__param_target]
             target_label: __address__
-            replacement: '$1:9104'
+            replacement: '$1:9154'
 
-  mtail:
+  postgres:
     config:
-      - job_name: mtail
+      - job_name: postgres
         file_sd_configs:
           - files:
-              - '/etc/prometheus/targets/mtail.json'
+              - '/etc/prometheus/targets/postgres.json'
         relabel_configs:
           - source_labels: [__address__]
             target_label: __param_target
@@ -194,26 +213,29 @@ loc_prometheus:
             target_label: instance
           - source_labels: [__param_target]
             target_label: __address__
-            replacement: '$1:3903'
+            replacement: '$1:9187'
 
-  ilo_snmp:
+  printer_snmp:
     config:
-      - job_name: ilo_snmp
-        file_sd_configs:
-          - files:
-              - '/etc/prometheus/targets/ilo_snmp.json'
+      - job_name: printer_snmp
+        static_configs:
+          - targets: ["printer.lp.crans.org"]
         metrics_path: '/snmp'
         params:
           module:
-            - ilo
+            - printer_mib
         relabel_configs:
           - source_labels: [__address__]
             target_label: __param_target
           - source_labels: [__param_target]
             target_label: instance
-          - replacement: '127.0.0.1:9116'
+          - replacement: "{{ lookup('ldap', 'ip4', 'helloworld', 'adm') }}:9116"
             target_label: __address__
 
+  tsdb:
+    retention_time: "180d"
+    retention_size: "200GB"
+
   ups_snmp:
     config:
       - job_name: ups_snmp
@@ -233,23 +255,3 @@ loc_prometheus:
             target_label: instance
           - replacement: 127.0.0.1:9116
             target_label: __address__
-
-  printer_snmp:
-    config:
-      - job_name: printer_snmp
-        static_configs:
-          - targets: ["printer.lp.crans.org"]
-        metrics_path: '/snmp'
-        params:
-          module:
-            - printer_mib
-        relabel_configs:
-          - source_labels: [__address__]
-            target_label: __param_target
-          - source_labels: [__param_target]
-            target_label: instance
-          - replacement: "{{ lookup('ldap', 'ip4', 'helloworld', 'adm') }}:9116"
-            target_label: __address__
-  tsdb:
-    retention_time: "180d"
-    retention_size: "200GB"
diff --git a/roles/ceph/tasks/main.yml b/roles/ceph/tasks/main.yml
deleted file mode 100644
index 6b4b2ed4..00000000
--- a/roles/ceph/tasks/main.yml
+++ /dev/null
@@ -1,27 +0,0 @@
----
-- name: Fetch ceph repository public key
-  get_url:
-    url: "{{ ceph.mirror_key }}"
-    dest: /etc/apt/trusted.gpg.d/ceph-release.asc
-
-- name: Add ceph to source lists
-  lineinfile:
-    path: /etc/apt/sources.list.d/ceph.list
-    regexp: '^deb'
-    create: true
-    line: 'deb [signed-by=/etc/apt/trusted.gpg.d/ceph-release.asc] {{ ceph.mirror }} {{ ansible_distribution_release }} main'
-
-- name: Install ceph
-  apt:
-    name:
-      - ceph
-      - ceph-mds
-      - ceph-volume
-      - rsync
-      - nvme-cli
-      - smartmontools
-    install_recommends: false
-    update_cache: true
-  register: apt_result
-  retries: 3
-  until: apt_result is succeeded
diff --git a/roles/common-tools/README.md b/roles/common-tools/README.md
new file mode 100644
index 00000000..d7294be6
--- /dev/null
+++ b/roles/common-tools/README.md
@@ -0,0 +1,9 @@
+# Common tools
+
+Installe et configure les outils essentiels pour l'administration des serveurs.
+
+Par exemple :
+
+- git
+- nano
+- screen
diff --git a/roles/debian-apt-sources/README.md b/roles/debian-apt-sources/README.md
new file mode 100644
index 00000000..a098d873
--- /dev/null
+++ b/roles/debian-apt-sources/README.md
@@ -0,0 +1,3 @@
+# Debian apt sources
+
+Configure les sources de debian avec le miroir du crans.
diff --git a/roles/ethercalc/README.md b/roles/ethercalc/README.md
new file mode 100644
index 00000000..ebd110da
--- /dev/null
+++ b/roles/ethercalc/README.md
@@ -0,0 +1,8 @@
+# Ethercalc
+
+Installe et configure ethercalc
+
+## Variables
+
+glob_ethercalc:
+  ip: ip du serveur
diff --git a/roles/etherpad/README.md b/roles/etherpad/README.md
new file mode 100644
index 00000000..8ee9cfb3
--- /dev/null
+++ b/roles/etherpad/README.md
@@ -0,0 +1,31 @@
+# Etherpad
+
+Installe et configure etherpad
+
+# Variables
+
+glob_etherpad:
+  instances:
+    - name: nom de l'instance
+      title: titre de la page
+      favicon: icon de la page
+      skin:
+      ip: ip du serveur
+      port: port
+      version: version du pad
+      database:
+        user: utilisateur de la bdd
+        host: serveur pgsql
+        name: nom de la bdd
+      default_pad_text: texte par défaut des pads
+      admin:
+        user: utilisateur admin
+        password: mot de passe
+      apikey: clé api
+      temporary:
+        enabled: activer les pads éphémères
+        delay: durée avant suppression
+        loop: true si une boucle est utilisée
+        loop_delay: delai entre chaque itération de la boucle
+        delete_at_start: true si la suppression à lieu au démarrage du pad
+        deleted_text: message après suppression
diff --git a/roles/logos/README.md b/roles/logos/README.md
new file mode 100644
index 00000000..954bccf7
--- /dev/null
+++ b/roles/logos/README.md
@@ -0,0 +1,12 @@
+# Logos
+
+Copie les logos du crans.
+
+## Variables
+
+logos:
+  - which: source du logo (cf : files/)
+    where: destination du logo
+    owner: propriétaire (défaut : root)
+    group: groupe (defaut : root)
+    mode: permissions (defaut : 0644)
diff --git a/roles/moinmoin-gendoc/README.md b/roles/moinmoin-gendoc/README.md
new file mode 100644
index 00000000..e0095309
--- /dev/null
+++ b/roles/moinmoin-gendoc/README.md
@@ -0,0 +1,3 @@
+# Moinmoin gendoc
+
+Générateur automatique de la documentation sur le wiki.
diff --git a/roles/moinmoin/README.md b/roles/moinmoin/README.md
new file mode 100644
index 00000000..5dd880f6
--- /dev/null
+++ b/roles/moinmoin/README.md
@@ -0,0 +1,7 @@
+# Moinmoin
+
+Installe et configure le wiki (avec hardcode)
+
+## Variables
+
+moinmoin.main: booléen
diff --git a/roles/ntp-client/README.md b/roles/ntp-client/README.md
new file mode 100644
index 00000000..cd6fee30
--- /dev/null
+++ b/roles/ntp-client/README.md
@@ -0,0 +1,8 @@
+# NTP client
+
+Installe et configure un client ntp.
+
+## Variables
+
+glob_ntp_client:
+  servers: serveurs
diff --git a/roles/ntp-server/README.md b/roles/ntp-server/README.md
new file mode 100644
index 00000000..a9c827c1
--- /dev/null
+++ b/roles/ntp-server/README.md
@@ -0,0 +1,8 @@
+# NTP server
+
+Installe et configure un serveur NTP
+
+## Variables
+
+glob_ntp_server:
+  open: adresses ip
diff --git a/roles/openssh/README.md b/roles/openssh/README.md
new file mode 100644
index 00000000..65b25696
--- /dev/null
+++ b/roles/openssh/README.md
@@ -0,0 +1,3 @@
+# Openssh
+
+Installe et configure un serveur ssh.
diff --git a/roles/prometheus/README.md b/roles/prometheus/README.md
new file mode 100644
index 00000000..0c160436
--- /dev/null
+++ b/roles/prometheus/README.md
@@ -0,0 +1,10 @@
+# Prometheus
+
+Installe et configure prometheus
+
+## Variables
+
+prometheus:
+  tsdb:
+    retention_time: Durée de conservation maximale
+    retention_size: Taille maximale
diff --git a/roles/qemu-guest-agent/README.md b/roles/qemu-guest-agent/README.md
new file mode 100644
index 00000000..0085dced
--- /dev/null
+++ b/roles/qemu-guest-agent/README.md
@@ -0,0 +1,3 @@
+# Qemu guest agent
+
+Installe qemu guest agent
diff --git a/roles/restic-client/README.md b/roles/restic-client/README.md
new file mode 100644
index 00000000..7d07b7f5
--- /dev/null
+++ b/roles/restic-client/README.md
@@ -0,0 +1,19 @@
+# Restic client
+
+Restic client est déployé sur toutes les machines du crans. Il permet de
+configurer les backups sur toutes les machines du crans. Plus d'information sur
+la [documentation](gitlab.crans.org/nounous/documentation).
+
+## Variables
+
+glob_restic: (ou loc_restic dans host_vars)
+  config:
+    <nom>:
+      to_exclude: chemins à ne pas backuper
+      to_backup: chemins à backuper
+      retention: règles de conservations
+  remote: Serveurs sur lesquels les backups doivent être effectuées
+
+Remarque : il est possible de configurer plusieurs backups (notamment pour avoir
+des rétentions différentes ou pour les séparer) en mettant plusieurs
+configurations dans `config` (avec des noms différents).
diff --git a/roles/restic-client/handlers/main.yml b/roles/restic-client/handlers/main.yml
index 77496d24..1c59875c 100644
--- a/roles/restic-client/handlers/main.yml
+++ b/roles/restic-client/handlers/main.yml
@@ -4,3 +4,7 @@
     name: restic-{{ item }}.timer
     state: restarted
   loop: "{{ restic.config.keys() }}"
+
+- name: systemctl daemon-reload
+  systemd:
+    daemon_reload: true
diff --git a/roles/root-config/README.md b/roles/root-config/README.md
new file mode 100644
index 00000000..5ac4f9bc
--- /dev/null
+++ b/roles/root-config/README.md
@@ -0,0 +1,3 @@
+# Root config
+
+Configure les différentes applications de root (typiquement nano et vim).
diff --git a/roles/root-config/tasks/main.yml b/roles/root-config/tasks/main.yml
index 4631e40d..44550cb6 100644
--- a/roles/root-config/tasks/main.yml
+++ b/roles/root-config/tasks/main.yml
@@ -1,5 +1,5 @@
 ---
-- name: Create or rewrite .nanorc for root
+- name: Create or rewrite .nanorc and .vimrc for root
   template:
     src: "{{ item.src }}.j2"
     dest: /root/{{ item.dest }}
diff --git a/roles/root/README.md b/roles/root/README.md
new file mode 100644
index 00000000..99f1e374
--- /dev/null
+++ b/roles/root/README.md
@@ -0,0 +1,6 @@
+# Root
+
+Configure le mot de passe root.
+
+Remarque : Bien que le role `root` ne fasse que cela, le playbook root permet de
+pré-configurer une vm entièrement (backups, sudoers, home_nounou, ...)
diff --git a/roles/sudo/README.md b/roles/sudo/README.md
new file mode 100644
index 00000000..7cf8da2a
--- /dev/null
+++ b/roles/sudo/README.md
@@ -0,0 +1,3 @@
+# Sudo 
+
+Configure les sudoers.
diff --git a/roles/sudo/tasks/main.yml b/roles/sudo/tasks/main.yml
index 487a6587..2701c683 100644
--- a/roles/sudo/tasks/main.yml
+++ b/roles/sudo/tasks/main.yml
@@ -1,11 +1,10 @@
 ---
 - name: Configure sudoers
   template:
-    src: "{{ item.src }}.j2"
-    dest: "/etc/{{ item.dst |  default(item.src) }}"
+    src: "{{ item }}.j2"
+    dest: "/etc/{{ item }}"
     mode: 0440
   loop:
-    - src: sudoers.d/custom_passprompt
-    - src: sudoers.d/group_privilege
-    - src: "sudoers.{{ ansible_distribution_release }}"
-      dst: "sudoers"
+    - sudoers.d/custom_passprompt
+    - sudoers.d/group_privilege
+    - sudoers
diff --git a/roles/sudo/templates/sudoers.bullseye.j2 b/roles/sudo/templates/sudoers.bullseye.j2
deleted file mode 100644
index 9f018b88..00000000
--- a/roles/sudo/templates/sudoers.bullseye.j2
+++ /dev/null
@@ -1,27 +0,0 @@
-{{ ansible_header | comment }}
-#
-# See the man page for details on how to write a sudoers file.
-#
-Defaults	env_reset
-Defaults	mail_badpass
-Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
-
-# Host alias specification
-User_Alias    USERS= %_user
-User_Alias    NOUNOUS= %_nounou
-
-# User alias specification
-
-# Cmnd alias specification
-
-# User privilege specification
-root	ALL=(ALL:ALL) ALL
-
-{% if 'virtu' in group_names %}
-# Pour vérifier quels vms sont sur quels virtus
-USERS ALL=(root:ALL) NOPASSWD:/usr/sbin/qm list
-
-{% endif %}
-# See sudoers(5) for more information on "@include" directives:
-
-@includedir /etc/sudoers.d
diff --git a/roles/sudo/templates/sudoers.buster.j2 b/roles/sudo/templates/sudoers.buster.j2
deleted file mode 100644
index 91b37793..00000000
--- a/roles/sudo/templates/sudoers.buster.j2
+++ /dev/null
@@ -1,27 +0,0 @@
-{{ ansible_header | comment }}
-#
-# See the man page for details on how to write a sudoers file.
-#
-Defaults	env_reset
-Defaults	mail_badpass
-Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
-
-# Host alias specification
-User_Alias    USERS= %_user
-User_Alias    NOUNOUS= %_nounou
-
-# User alias specification
-
-# Cmnd alias specification
-
-# User privilege specification
-root	ALL=(ALL:ALL) ALL
-
-{% if 'virtu' in group_names %}
-# Pour vérifier quels vms sont sur quels virtus
-USERS ALL=(root:ALL) NOPASSWD:/usr/sbin/qm list
-
-{% endif %}
-# See sudoers(5) for more information on "@include" directives:
-
-#includedir /etc/sudoers.d
diff --git a/roles/sudo/templates/sudoers.bookworm.j2 b/roles/sudo/templates/sudoers.j2
similarity index 85%
rename from roles/sudo/templates/sudoers.bookworm.j2
rename to roles/sudo/templates/sudoers.j2
index 9f018b88..ebca2611 100644
--- a/roles/sudo/templates/sudoers.bookworm.j2
+++ b/roles/sudo/templates/sudoers.j2
@@ -24,4 +24,4 @@ USERS ALL=(root:ALL) NOPASSWD:/usr/sbin/qm list
 {% endif %}
 # See sudoers(5) for more information on "@include" directives:
 
-@includedir /etc/sudoers.d
+{% if ansible_facts['distribution_major_version'] == "10" %}#{% else %}@{% endif %}includedir /etc/sudoers.d
diff --git a/roles/wireguard/README.md b/roles/wireguard/README.md
new file mode 100644
index 00000000..eed1c0a0
--- /dev/null
+++ b/roles/wireguard/README.md
@@ -0,0 +1,19 @@
+# Wireguard
+
+Installe et configure wireguard
+
+## Variables
+
+loc_wireguard:
+  tunnels:
+    - name: nom
+      listen_port: port
+      private_key: clé privée
+      table: "off"
+      peers:
+        - public_key: clé publique de la machine distante
+          allowed_ips: ips autorisées
+          endpoint: ip:port (facultatif)
+          persistent_keepalive: int (facultatif)
+      post_up: actions après activation
+      pre_down: actions avant arrêt
diff --git a/roles/zamok-tools/README.md b/roles/zamok-tools/README.md
new file mode 100644
index 00000000..45135019
--- /dev/null
+++ b/roles/zamok-tools/README.md
@@ -0,0 +1,3 @@
+# Zamok tools
+
+Installe les logiciels nécessaire sur Zamok et configure les pages persos.
-- 
GitLab