diff --git a/roles/ceph_s3/handlers/main.yml b/roles/ceph_s3/handlers/main.yml deleted file mode 100644 index 53491dd90dd13b75becc0c993a8aabeda0444d1a..0000000000000000000000000000000000000000 --- a/roles/ceph_s3/handlers/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -- name: update apt cache - apt: - update_cache: true diff --git a/roles/ceph_s3/tasks/main.yml b/roles/ceph_s3/tasks/main.yml index 82287b4bddeef378aa324ca567967de7e25bcd29..637a1c177e5ef9dff9fab3d67bf41bd7ef523583 100644 --- a/roles/ceph_s3/tasks/main.yml +++ b/roles/ceph_s3/tasks/main.yml @@ -9,10 +9,6 @@ repo: "deb http://download.proxmox.com/debian/ceph-{{ ceph_proxmox_version }} {{ ansible_distribution_release }} main" filename: proxmox-ceph state: present - notify: update apt cache - -- name: Trigger APT handler - meta: flush_handlers - name: Installation des plugins Telegraf import_role: diff --git a/roles/commun/handlers/main.yml b/roles/commun/handlers/main.yml index 78bfe032dc441b1ae804a752b03d6a0ccae01d1a..c4272a504a55826659cd84ccebc8d14db05c6f84 100644 --- a/roles/commun/handlers/main.yml +++ b/roles/commun/handlers/main.yml @@ -1,5 +1,9 @@ --- +- name: update apt cache + apt: + update_cache: true + - name: restart ssh service: name: ssh diff --git a/roles/dokuwiki/tasks/main.yml b/roles/dokuwiki/tasks/main.yml index 23c0d21ad96df2028d1e3c88b3980ff7ee5f8e29..afaca4c7e9c5268e01277fa2e10aeb9de3330a33 100644 --- a/roles/dokuwiki/tasks/main.yml +++ b/roles/dokuwiki/tasks/main.yml @@ -8,6 +8,7 @@ import_role: name: php_fpm vars: + php_version: "7.4" # Dokuwiki handles php session name by itself php_fpm_session_name: "" tags: ['php_fpm'] diff --git a/roles/dokuwiki/vars/main.yml b/roles/dokuwiki/vars/main.yml deleted file mode 100644 index 8a5971fad8f8c4ae4ebf8d13fd90ca8fa81f7d6e..0000000000000000000000000000000000000000 --- a/roles/dokuwiki/vars/main.yml +++ /dev/null @@ -1,7 +0,0 @@ -php_modules: - - php-curl - - php-gd - - php-xml - - php-mbstring - - php-zip - - php-apcu diff --git a/roles/grav/tasks/main.yml b/roles/grav/tasks/main.yml index 7d27a79d6fdca19b3f53ee787dd70902f3ba1692..459318d4c5451eedb1b7162167a7f848a9b0af85 100644 --- a/roles/grav/tasks/main.yml +++ b/roles/grav/tasks/main.yml @@ -8,6 +8,9 @@ import_role: name: php_fpm vars: + php_extra_modules: + - yaml + - sqlite3 # Grav handles php session name by itself php_fpm_session_name: "" tags: ['php_fpm'] diff --git a/roles/grav/vars/main.yml b/roles/grav/vars/main.yml deleted file mode 100644 index b2bc0f19131e85e4fea6451f0f2291d0fa793210..0000000000000000000000000000000000000000 --- a/roles/grav/vars/main.yml +++ /dev/null @@ -1,9 +0,0 @@ -php_modules: - - php-curl - - php-gd - - php-xml - - php-mbstring - - php-zip - - php-apcu - - php-yaml - - php-sqlite3 diff --git a/roles/nextcloud/defaults/main.yml b/roles/nextcloud/defaults/main.yml index 256f685e5f824d810d6902efa8a951c261fe50c3..a5a5601ee2621a63a010a85353764d6ad2c4977f 100644 --- a/roles/nextcloud/defaults/main.yml +++ b/roles/nextcloud/defaults/main.yml @@ -17,8 +17,6 @@ nextcloud_src_archive: "{{ nextcloud_src_dir }}/{{ nextcloud_install_url | basen nextcloud_data_dir: "{{ web_app_dist_dir }}/data" nextcloud_import_file: "{{ web_app_dist_dir }}/config/import.json" -nextcloud_php_version: "" - nextcloud_postgres_install_enabled: true nextcloud_database_driver: pgsql nextcloud_database_name: nextcloud diff --git a/roles/nextcloud/tasks/main.yml b/roles/nextcloud/tasks/main.yml index acfc6c247a67de8ef6f4dd3d2ccced2268bb860c..7910b0d4346d2f66bdf51697d1158ed0b20dfdc4 100644 --- a/roles/nextcloud/tasks/main.yml +++ b/roles/nextcloud/tasks/main.yml @@ -8,8 +8,18 @@ import_role: name: php_fpm vars: - php_version: "{{ nextcloud_php_version }}" - php_modules: "{{ nextcloud_php_modules }}" + php_version: "8.0" + php_extra_modules: + - bcmath + - bz2 + - fileinfo + - gmp + - imagick + - intl + - json + - pgsql + - redis + tags: ['php_fpm'] - name: Installation l'application web diff --git a/roles/nextcloud/vars/main.yml b/roles/nextcloud/vars/main.yml index 8b5b7f5ce49e99c9c665947f78901b05a7bdbeff..5a8474b155707d2fbb0d968062e9d93e60f07ea5 100644 --- a/roles/nextcloud/vars/main.yml +++ b/roles/nextcloud/vars/main.yml @@ -6,20 +6,3 @@ postgres_packages: - libpq-dev - python3-psycopg2 - acl - -nextcloud_php_modules: - - php-apcu - - php-curl - - php-bcmath - - php-bz2 - - php-fileinfo - - php-gd - - php-gmp - - php-imagick - - php-intl - - php-json - - php-mbstring - - php-pgsql - - php-redis - - php-xml - - php-zip diff --git a/roles/php_fpm/defaults/main.yml b/roles/php_fpm/defaults/main.yml index 35d9753887206a18fca8a792d2fd5107f6e9922e..652a177ad252f8adcde41e9dce89ba4215ef61c9 100644 --- a/roles/php_fpm/defaults/main.yml +++ b/roles/php_fpm/defaults/main.yml @@ -1,6 +1,6 @@ -php_version: "" +php_version: "8.0" php_config_dir: "/etc/php/{{ php_version }}" -php_modules: [] +php_extra_modules: [] php_fpm_config_dir: "{{ php_config_dir }}/fpm" php_fpm_pool_dir: "{{ php_fpm_config_dir }}/pool.d" diff --git a/roles/php_fpm/molecule/default/prepare.yml b/roles/php_fpm/molecule/default/prepare.yml new file mode 100644 index 0000000000000000000000000000000000000000..a611e5f7e0bf5c5934a24f74a69ee50e84b135c9 --- /dev/null +++ b/roles/php_fpm/molecule/default/prepare.yml @@ -0,0 +1,16 @@ +--- +- name: Prepare + hosts: all + become: true + + pre_tasks: + - name: Mise à jour du cache APT + apt: + update_cache: true + cache_valid_time: 3600 + + tasks: + - name: Installation de GPG + package: + name: gpg + state: present diff --git a/roles/php_fpm/tasks/main.yml b/roles/php_fpm/tasks/main.yml index 25bbd0fb2c0c5b9a715784c40fcb058c96c6caf9..ade17c1d0a41252fac9cf99c7750f093a01383da 100644 --- a/roles/php_fpm/tasks/main.yml +++ b/roles/php_fpm/tasks/main.yml @@ -1,26 +1,55 @@ -- name: Installation de PHP {{ php_version }} et de ses modules +- name: Ajout de la clé GPG de Sury dans APT + apt_key: + url: https://packages.sury.org/php/apt.gpg + state: present + +- name: Ajout du dépôt Sury + apt_repository: + repo: deb https://packages.sury.org/php/ {{ ansible_distribution_release }} main + filename: sury-php + state: present + +- name: Installation de PHP et PHP-FPM package: - name: "{{ php_packages + php_modules | map('regex_replace', '$', php_version) | list }}" + name: + - "{{ php_executable }}" + - "{{ php_fpm_executable }}" state: present -- name: Installation de imagemagick +- name: Installation des modules PHP par défaut package: - name: imagemagick + name: "{{ php_module }}" state: present - when: "'php-imagick' in php_modules" + loop: + - cli + - curl + - gd + - mbstring + - opcache + - xml + - zip + loop_control: + loop_var: module_name + label: "{{ php_module }}" + vars: + php_module: "{{ php_executable }}-{{ module_name }}" -- name: Récupération et définition de la dernière version de PHP - when: php_version == "" - block: - - name: Récupération de la dernière version de PHP - # Regex: https://unix.stackexchange.com/questions/13466/can-grep-output-only-specified-groupings-that-match/13467#13467 - shell: php -v | sed -n 's/^PHP \([[:digit:]]\.[[:digit:]]\).*/\1/p' - changed_when: false - register: _php_version +- name: Installation des modules PHP additionnels + package: + name: "{{ php_module }}" + state: present + loop: "{{ php_extra_modules }}" + loop_control: + loop_var: module_name + label: "{{ php_module }}" + vars: + php_module: "{{ php_executable }}-{{ module_name }}" - - name: Définition de la dernière version de PHP - set_fact: - php_version: "{{ _php_version.stdout }}" +- name: Installation de imagemagick + package: + name: imagemagick + state: present + when: "'imagick' in php_extra_modules" - name: Copie de la configuration OPCache template: @@ -33,7 +62,7 @@ - reload php-fpm tags: ['php_config'] -- name: Activation de php{{ php_version }}-fpm au démarrage +- name: Activation de {{ php_fpm_executable }} au démarrage service: name: "{{ php_fpm_executable }}" state: started diff --git a/roles/php_fpm/vars/main.yml b/roles/php_fpm/vars/main.yml index 9dc15e420f6ff36b99158448d3f5c4a0e7021bea..870727acf7e9c8be21ae3e558eff0d5240412869 100644 --- a/roles/php_fpm/vars/main.yml +++ b/roles/php_fpm/vars/main.yml @@ -1,5 +1,2 @@ -php_packages: - - php - - php-fpm php_executable: "php{{ php_version }}" php_fpm_executable: php{{ php_version }}-fpm diff --git a/roles/telegraf/handlers/main.yml b/roles/telegraf/handlers/main.yml deleted file mode 100644 index 53491dd90dd13b75becc0c993a8aabeda0444d1a..0000000000000000000000000000000000000000 --- a/roles/telegraf/handlers/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -- name: update apt cache - apt: - update_cache: true diff --git a/roles/telegraf/tasks/main.yml b/roles/telegraf/tasks/main.yml index 79e76d3d4bd7b55084a841881eabd945cc6df287..ffa509a66b33ea5ed732593ccd5cc0123a3fcdc2 100644 --- a/roles/telegraf/tasks/main.yml +++ b/roles/telegraf/tasks/main.yml @@ -17,10 +17,6 @@ repo: deb https://repos.influxdata.com/debian {{ ansible_distribution_release }} stable state: present filename: telegraf - notify: update apt cache - -- name: Trigger APT handler - meta: flush_handlers - name: Installation de Telegraf apt: