3 Commits
v0.8 ... v1.1

Author SHA1 Message Date
9e90b1b26f Ajout des fichiers VPN 2025-12-05 14:58:16 +00:00
d37227592b Modifs 2025-12-05 14:08:26 +00:00
472dd4feb1 Modification des fichiers de configs 2025-12-05 14:02:48 +00:00
7 changed files with 224 additions and 4 deletions

5
partie2/ansible/.env Normal file
View File

@@ -0,0 +1,5 @@
GLPI_DB_HOST=db
GLPI_DB_PORT=3306
GLPI_DB_NAME=glpi
GLPI_DB_USER=glpi
GLPI_DB_PASSWORD=9Z8&i9zWUeOi

View File

@@ -9,6 +9,7 @@ services:
- "variables.env" - "variables.env"
volumes: volumes:
- ./mariadb-java-client-3.5.6.jar:/opt/payara/glassfish/domains/domain1/lib/mariadb-java-client-3.5.6.jar:ro - ./mariadb-java-client-3.5.6.jar:/opt/payara/glassfish/domains/domain1/lib/mariadb-java-client-3.5.6.jar:ro
- ./SDIS29MedhiEmile-1.0-SNAPSHOT.war:/opt/payara/glassfish/domains/domain1/autodeploy/SDIS29MedhiEmile-1.0-SNAPSHOT.war
restart: unless-stopped restart: unless-stopped
db: db:

View File

@@ -0,0 +1,33 @@
services:
glpi:
image: "glpi/glpi:latest"
restart: "unless-stopped"
volumes:
- "./storage/glpi:/var/glpi:rw"
depends_on:
db:
condition: service_healthy
env_file: .env
environment:
TZ: Europe/Paris
ports:
- "4000:80"
db:
image: mariadb:latest
restart: "unless-stopped"
volumes:
- ./storage/mariadb:/var/lib/mysql
environment:
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
MYSQL_DATABASE: ${GLPI_DB_NAME}
MYSQL_USER: ${GLPI_DB_USER}
MYSQL_PASSWORD: ${GLPI_DB_PASSWORD}
healthcheck:
test: [ "CMD", "healthcheck.sh", "--su-mysql", "--connect", "--innodb_initialized" ]
start_period: 5s
interval: 5s
timeout: 5s
retries: 10
expose:
- "3306"

View File

@@ -0,0 +1,29 @@
---
- name: Installation de GLPI avec Docker
hosts: ap31-pt
become: yes
tasks:
- name: Création du dossier glpi
ansible.builtin.file:
path: /root/glpi
state: directory
mode: '0755'
- name: Importation du fichier docker-compose.yml
ansible.builtin.copy:
src: ./files/docker-compose.yml
dest: /root/glpi/docker-compose.yml
mode: '0644'
- name: Importation du fichier .env
ansible.builtin.copy:
src: .env
dest: /root/glpi/.env
mode: '0600'
- name: Pull et lancement du conteneur GLPI
ansible.builtin.shell:
cmd: docker compose pull && docker compose up -d
chdir: /root/glpi

View File

@@ -0,0 +1,91 @@
è-#!/bin/bash
set -u
set -e
AddressAwg=10.0.0.1/32 # Adresse VPN Wireguard extremite A
EndpointA=172.16.0.101 # Adresse extremite A
PortA=51820 # Port ecoute extremite A
AddressBwg=10.0.0.2/32 # Adresse VPN Wireguard extremite B
EndpointB=172.16.0.102 # Adresse extremite B
PortB=51820 # Port ecoute extremite B
AddressCwg=10.0.0.3/32 # Adresse VPN Wireguard extremite C
EndpointC=172.0.0.103 # Adresse extremite C
PortC=51820 # Port ecoute extremite C
umask 077 ;
wg genkey > endpoint-a.key
wg pubkey < endpoint-a.key > endpoint-a.pub
wg genkey > endpoint-b.key
wg pubkey < endpoint-b.key > endpoint-b.pub
wg genkey > endpoint-c.key
wg pubkey < endpoint-c.key > endpoint-c.pub
PKA=$(cat endpoint-a.key)
pKA=$(cat endpoint-a.pub)
PKB=$(cat endpoint-b.key)
pKB=$(cat endpoint-b.pub)
PKC=$(cat endpoint-c.key)
pKC=$(cat endpoint-c.pub)
cat <<FINI > wg0-a.conf
# local settings for Endpoint A
[Interface]
PrivateKey = $PKA
Address = $AddressAwg
ListenPort = $PortA
# remote settings for Endpoint B
[Peer]
PublicKey = $pKB
Endpoint = ${EndpointB}:$PortB
AllowedIPs = $AddressBwg
# remote settings for Endpoint C
[Peer]
PublicKey = $pKC
Endpoint = ${EndpointC}:$PortC
AllowedIPs = $AddressCwg
FINI
cat <<FINI > wg0-b.conf
# local settings for Endpoint B
[Interface]
PrivateKey = $PKB
Address = $AddressBwg
ListenPort = $PortB
# remote settings for Endpoint A
[Peer]
PublicKey = $pKA
Endpoint = ${EndpointA}:$PortA
AllowedIPs = $AddressAwg
# remote settings for Endpoint C
[Peer]
PublicKey = $pKC
Endpoint = ${EndpointC}:$PortC
AllowedIPs = $AddressCwg
FINI
cat <<FINI > wg0-c.conf
# local settings for Endpoint C
[Interface]
PrivateKey = $PKC
Address = $AddressBwg
ListenPort = $PortB
# remote settings for Endpoint A
[Peer]
PublicKey = $pKA
Endpoint = ${EndpointA}:$PortA
AllowedIPs = $AddressAwg
# remote settings for Endpoint B
[Peer]
PublicKey = $pKB
Endpoint = ${EndpointB}:$PortB
AllowedIPs = $AddressBwg
FINI

View File

@@ -1,5 +1,5 @@
--- ---
- name: playbook.yml - name: Installation de docker et payara dockerisé
hosts: ap31-pt hosts: ap31-pt
become: yes become: yes
@@ -19,7 +19,7 @@
state: directory state: directory
mode: '0755' mode: '0755'
- name: Importation du fichier payara.yml - name: Importation du fichier compose.yml
ansible.builtin.copy: ansible.builtin.copy:
src: ./files/compose.yml src: ./files/compose.yml
dest: ~/payara/compose.yml dest: ~/payara/compose.yml
@@ -57,5 +57,6 @@
- name: Docker pull et docker compose up -d - name: Docker pull et docker compose up -d
ansible.builtin.shell: ansible.builtin.shell:
cmd: usermod -aG docker debian ; systemctl daemon-reload ; systemctl restart docker ; cd ~/payara ; docker compose pull && docker compose up -d ; docker compose down -v ; rm -rf ./data/ ; java -jar payara-micro.jar --deploy SDIS29MedhiEmile-1.0-SNAPSHOT.war ; docker compose up -d cmd: usermod -aG docker debian ; systemctl daemon-reload ; systemctl restart docker ; cd ~/payara ; docker compose pull && docker compose up -d ; docker compose down -v ; rm -rf ./data/ ; docker compose up -d

60
partie2/ansible/wg.yml Normal file
View File

@@ -0,0 +1,60 @@
---
- name: WireGuard pour apx31-prod et apx31-test
hosts:
- ap31-test
- ap31-prod
become: true
tasks:
- name: Installer WireGuard
apt:
name:
- wireguard
- wireguard-tools
state: present
update_cache: true
- name: Copier le script mkwgconf-p2p.sh dans /tmp
ansible.builtin.copy:
src: mkwgconf-p2p.sh
dest: /tmp/mkwgconf-p2p.sh
mode: '0755'
- name: Executer le script mkwgconf
ansible.builtin.shell:
cmd: cd /tmp && /tmp/mkwgconf-p2p.sh
when: inventory_hostname == "ap31-test"
- name: Recupere wg0-a.conf
ansible.builtin.fetch:
src: /tmp/wg0-a.conf
dest: /tmp/
# mode: '0600'
flat: yes
when: inventory_hostname == "ap31-test"
- name: Recupere wg0-b.conf
ansible.builtin.fetch:
src: /tmp/wg0-b.conf
dest: /tmp/
# mode: '0600'
flat: yes
when: inventory_hostname == "ap31-test"
- name: Renvoi wg0-a.conf
ansible.builtin.copy:
src: /tmp/wg0-a.conf
dest: /etc/wireguard/wg0.conf
# mode: '0600'
when: inventory_hostname == "ap31-test"
- name: Renvoi wg0-b.conf
ansible.builtin.copy:
src: /tmp/wg0-b.conf
dest: /etc/wireguard/wg0.conf
#mode: '0600'
when: inventory_hostname == "ap31-prod"