Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9e90b1b26f | |||
| d37227592b | |||
| 472dd4feb1 |
5
partie2/ansible/.env
Normal file
5
partie2/ansible/.env
Normal 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
|
||||||
@@ -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:
|
||||||
|
|||||||
33
partie2/ansible/files/docker-compose.yml
Normal file
33
partie2/ansible/files/docker-compose.yml
Normal 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"
|
||||||
29
partie2/ansible/install-glpi.yml
Normal file
29
partie2/ansible/install-glpi.yml
Normal 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
|
||||||
|
|
||||||
91
partie2/ansible/mkwgconf-p2p.sh
Normal file
91
partie2/ansible/mkwgconf-p2p.sh
Normal 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
|
||||||
@@ -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
|
||||||
@@ -50,12 +50,13 @@
|
|||||||
dest: /root/payara/init/
|
dest: /root/payara/init/
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
|
|
||||||
- name: Importation du fichier war
|
- name: Importation du fichier war
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: ./files/SDIS29MedhiEmile-1.0-SNAPSHOT.war
|
src: ./files/SDIS29MedhiEmile-1.0-SNAPSHOT.war
|
||||||
dest: /root/payara
|
dest: /root/payara
|
||||||
|
|
||||||
- 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
60
partie2/ansible/wg.yml
Normal 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"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user