From 17133b5ba9cc44dbce60f21aadc3df4951ef1f31 Mon Sep 17 00:00:00 2001 From: Guillaume Emorine Date: Thu, 14 Nov 2024 09:19:00 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20des=20playbooks=20Ansible=20et=20ajout?= =?UTF-8?q?=20d'un=20README=20qui=20explique=20le=20r=C3=B4le=20de=20chaqu?= =?UTF-8?q?e=20playbook=20dans=20le=20r=C3=A9pertoire=20'ansible'.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ansible/README.md | 11 +++++++++++ ansible/apbase.yml | 34 ++++++++++++++++++++++++++++++++ ansible/apdb.yml | 47 ++++++++++++++++++++++++++++++++++++++++++++ ansible/apdbdump.yml | 17 ++++++++++++++++ ansible/hosts | 2 ++ 5 files changed, 111 insertions(+) create mode 100644 ansible/README.md create mode 100644 ansible/apbase.yml create mode 100644 ansible/apdb.yml create mode 100644 ansible/apdbdump.yml create mode 100644 ansible/hosts diff --git a/ansible/README.md b/ansible/README.md new file mode 100644 index 0000000..b37a6bd --- /dev/null +++ b/ansible/README.md @@ -0,0 +1,11 @@ +# Ansible +Dans ce répertoire se situent les *playbooks* Ansible. + +## apbase.yml +Ce *playbook* se charge de mettre à jour les paquets, configurer APT pour passer par le proxy, définit une *timezone* correcte, et se charge d'installer les paquets sur les deux machines. + +## apdb.yml +Ce *playbook* se charge d'installer un module crucial sur la machine **ap31-test**, puis créé une base de données vide, un utilisateur avec l'accès total sur la BDD, puis importe le fichier .sql de base pour rendre la BDD utilisable. + +## apdbdump.yml +Ce *playbook* se charge de créer un dump de la BDD avant de l'envoyer sur la machine qui exécute le *playbook* Ansible. diff --git a/ansible/apbase.yml b/ansible/apbase.yml new file mode 100644 index 0000000..5c70e8b --- /dev/null +++ b/ansible/apbase.yml @@ -0,0 +1,34 @@ +--- +#- name: Install prod/test +- hosts: all + become: true + + tasks: + - name: Parametrage Timezone Europe/Paris + community.general.timezone: + name: Europe/Paris + + - name: Copie apt.conf + copy: + content: | + Acquire::http::Proxy "http://10.121.38.1:8080/"; + Acquire::https::Proxy "http://10.121.38.1:8080/"; + dest: /etc/apt/apt.conf + + - name: Update and upgrade apt packages + apt: + upgrade: yes + update_cache: yes + cache_valid_time: 86400 #One day + + + - name: Installation paquets + apt: + name: "{{ item }}" + state: present + with_items: + - tomcat10 + - mariadb-server + - ant + - qemu-guest-agent + diff --git a/ansible/apdb.yml b/ansible/apdb.yml new file mode 100644 index 0000000..fdb4633 --- /dev/null +++ b/ansible/apdb.yml @@ -0,0 +1,47 @@ +# apdb.yml +--- +- hosts: all + become: true + tasks: + - name: 1. Installe une des dépendances d'une extension Ansible. + apt: + name: python3-pymysql + state: present + + - name: 2. Créé la base de données vide. + community.mysql.mysql_db: + check_implicit_admin: true + name: sdis29 + state: present + login_unix_socket: /run/mysqld/mysqld.sock + + - name: 3. Créé l'utilisateur pour la BDD. + community.mysql.mysql_user: + name: reseau + password: Ilona21? + priv: 'sdis29.*:ALL,GRANT' + state: present + login_unix_socket: /run/mysqld/mysqld.sock + + - name: 4. Vérifie si un répertoire db existe. + stat: + path: /home/debian/db + register: rept_stat + + - name: 5. Créé le répertoire db pour le fichier sql. + command: mkdir /home/debian/db + when: rept_stat.stat.exists == false + + - name: 6. Copie le fichier d'import de la base de données + template: + src: db/sdis29.sql + dest: /home/debian/db/sdis29.sql + + - name: 7. Import de la base de données. + run_once: true + community.mysql.mysql_db: + state: import + name: all + encoding: utf8 + target: db/sdis29.sql + login_unix_socket: /run/mysqld/mysqld.sock diff --git a/ansible/apdbdump.yml b/ansible/apdbdump.yml new file mode 100644 index 0000000..298eb6d --- /dev/null +++ b/ansible/apdbdump.yml @@ -0,0 +1,17 @@ +# apbddump.yml +--- +- hosts: all + become: true + tasks: + - name: 1. Exécute le dump de la BDD. + community.mysql.mysql_db: + check_implicit_admin: true + state: dump + name: sdis29 + target: /home/debian/db/sdis29-backup.sql.gz + login_unix_socket: /run/mysqld/mysqld.sock + + - name: 2. Envoie le dump sur la machine Ansible. + ansible.builtin.fetch: + src: /home/debian/db/sdis29-backup.sql.gz + dest: /home/debian/ diff --git a/ansible/hosts b/ansible/hosts new file mode 100644 index 0000000..fc3fe0d --- /dev/null +++ b/ansible/hosts @@ -0,0 +1,2 @@ +[pt] +ap31-pt