Compare commits

..

11 Commits

14 changed files with 164 additions and 35 deletions

View File

@ -1,6 +1,6 @@
# gsb2023
2023-02-01 ps
2023-02-02 ps
Environnement et playbooks ansible pour le projet GSB 2023
@ -59,9 +59,9 @@ $ mkvm -r s-adm
```
### Machine s-adm
* créer la machine virtuelle **s-adm** avec **mkvm * comme décrit plus haut.
* utiliser le script de renommage comme suit --> bash chname [nouveau_nom_de_machine] puis redémarrer
* utiliser le script s-adm-start --> bash s-adm-start, redémarrer
* créer la machine virtuelle **s-adm** avec **mkvm** comme décrit plus haut.
* utiliser le script de renommage comme suit --> `bash chname <nouveau_nom_de_machine>` , puis redémarrer
* utiliser le script **s-adm-start** : `bash s-adm-start` , puis redémarrer
* ou sinon :
```shell
mkdir -p tools/ansible ; cd tools/ansible
@ -79,9 +79,9 @@ $ mkvm -r s-adm
### Pour chaque machine
- créer la machine avec **mkvm -r**, les cartes réseau sont paramétrées par **mkvm** selon les spécifications
- utiliser le script de renommage comme suit --> bash chname [nouveau_nom_de_machine]
- utiliser le script de renommage comme suit : `bash chname <nouveau_nom_de_machine>`
- redémarrer
- utiliser le script gsb-start --> bash gsb-start
- utiliser le script **gsb-start** : `bash gsb-start`
- ou sinon:
```shell
mkdir -p tools/ansible ; cd tools/ansible
@ -94,3 +94,16 @@ bash pull-config
```
- redémarrer
- **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration
## Les tests
Il peuvent êtres mis en oeuvre avec **goss** de la façon suivante : chaque machine installée dispose d'un fichier de test ad-hoc portant le nom de la machine elle-même (machine.yml).
```
cd tools/ansible/gsb2023
bash agoss # lance le test portant le nom de la machine
```
`agoss -f tap` permet de lancer le test avec le détail d'exécution

26
goss/s-elk.yaml Normal file
View File

@ -0,0 +1,26 @@
port:
tcp:5044:
listening: true
ip:
- 0.0.0.0
tcp:5601:
listening: true
ip:
- 0.0.0.0
tcp:9200:
listening: true
ip:
- 0.0.0.0
service:
docker:
enabled: true
running: true
interface:
enp0s3:
exists: true
addrs:
- 192.168.99.11/24
enp0s8:
exists: true
addrs:
- 172.16.0.11/24

View File

@ -45,7 +45,9 @@ str6="curl -L https://github.com/aelsabbahy/goss/releases/download/${GOSSVER}/go
#str8="wget -nc 'https://gestsup.fr/index.php?page=download&channel=stable&version=${GESTSUPREL}&type=gestsup' -O gestsup_${GESTSUPREL}.zip"
str8="wget -nc 'https://gestsup.fr/index.php?page=download&channel=stable&version=3.2.30&type=gestsup' -O gestsup_3.2.30.zip"
ELKREL=8.6.0
#METRICBEAT ET FILEBEAT
ELKREL=8.5.3
str81="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-amd64.deb"
str82="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-windows-x86_64.zip"

View File

@ -0,0 +1 @@
BEATVER: "8.5.3"

View File

@ -1,4 +1,4 @@
- name: start filebeat
- name: restart filebeat
service:
name: filebeat
state: started

View File

@ -1,12 +1,12 @@
---
- name: Récupération de filebeat
get_url:
url: http://s-adm.gsb.adm/gsbstore/filebeat-7.16.3-amd64.deb
url: http://s-adm.gsb.adm/gsbstore/filebeat-${BEATVAR}-amd64.deb
dest: /tmp/
- name: Installation de filebeat
apt:
deb: /tmp/filebeat-7.16.3-amd64.deb
deb: /tmp/filebeat-${BEATVEAR}-amd64.deb
- name: Changement du fichier de conf
copy:
@ -15,9 +15,9 @@
- name: Configuration de filebeat
shell: filebeat modules enable system
notify: start filebeat
notify: restart filebeat
- name: Lancement de la configuration de filebeat
shell: filebeat setup -e
notify: start filebeat
notify: restart filebeat

16
roles/fog/README.md Normal file
View File

@ -0,0 +1,16 @@
# Fog
Ce rôle permet l'installation et la modification de Fog.
## Fog, c'est quoi ?
Fog permet le déploiement d'images disque tel que Windows ou bien Linux en utilisant PXE (Preboot Execution Environment).
## Comment l'installer ?
Avant toute chose, lancer le fichier goss de s-fog ( présent dans gsb2023/goss/s-fog.yaml ) pour vérifier que la configuration réseau est correct et opérationnel. Une fois l'installation principale effectuée, il faut lancer le playbook ansible s-fog.yaml.
Il faudra se rendre dans le dossier **fog** pour lancer le script **installfog.sh** ( fog/bin/ ). La configuration sera déjà établie via le fichier **.fogsettings**

View File

@ -0,0 +1,46 @@
## Start of FOG Settings
## Created by the FOG Installer
## Find more information about this file in the FOG Project wiki:
## https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
## Version: 1.5.9
## Install time: jeu. 26 janv. 2023 11:41:05
ipaddress='172.16.64.16'
copybackold='0'
interface='enp0s9'
submask='255.255.255.0'
hostname='s-fog.gsb.lan'
routeraddress='192.168.99.99'
plainrouter='192.168.99.99'
dnsaddress='172.16.0.1'
username='fogproject'
password='/7ElC1OHrP47EN2w59xl'
osid='2'
osname='Debian'
dodhcp='y'
bldhcp='1'
dhcpd='isc-dhcp-server'
blexports='1'
installtype='N'
snmysqluser='fogmaster'
snmysqlpass='HHO5vSGqFiHE_9d2lja3'
snmysqlhost='localhost'
mysqldbname='fog'
installlang='0'
storageLocation='/images'
fogupdateloaded=1
docroot='/var/www/html/'
webroot='/fog/'
caCreated='yes'
httpproto='http'
startrange='172.16.64.10'
endrange='172.16.64.254'
bootfilename='undionly.kpxe'
packages='apache2 bc build-essential cpp curl g++ gawk gcc genisoimage git gzip htmldoc isc-dhcp-server isolinux lftp libapache2-mod-php7.4 libc6 libcurl4 li>
noTftpBuild=''
sslpath='/opt/fog/snapins/ssl/'
backupPath='/home/'
armsupport='0'
php_ver='7.4'
php_verAdds='-7.4'
sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
## End of FOG Settings

View File

@ -1,11 +1,15 @@
---
- name: creation d'un repertoire fog
file:
path: /root/tools/fog
state: directory
- name: recuperation de l'archive d'installation fog sur git
git:
repo: https://gitea.lyc-lecastel.fr/gadmin/fog.git
dest: /root/tools/fog/
clone: yes
update: yes
force: yes
- name: Modification fichier bash (desac UDPCast)
ansible.builtin.lineinfile:
@ -13,3 +17,10 @@
regexp: '^configureUDPCast\(\).*'
line: "configureUDPCast() {\nreturn"
backup: yes
- name: fichier config fogsettings
command: "cp /root/tools/ansible/roles/fog/files/fogsettings /opt/fog/"
- name: fichier fogsettings en .fogsettings
command: "mv /opt/fog/fogsettings /opt/fog/.fogsettings"

View File

@ -0,0 +1 @@
BEATVER: "8.5.3"

View File

@ -1,5 +1,5 @@
- name: start metricbeat
- name: restart metricbeat
service:
name: metricbeat
state: started
state: restarted
enabled: yes

View File

@ -1,12 +1,12 @@
---
- name: Récupération de metricbeat
get_url:
url: http://s-adm.gsb.adm/gsbstore/metricbeat-7.16.3-amd64.deb
url: http://s-adm.gsb.adm/gsbstore/metricbeat-${BEATVER}-amd64.deb
dest: /tmp/
- name: Installation de metricbeat
apt:
deb: /tmp/metricbeat-7.16.3-amd64.deb
deb: /tmp/metricbeat-${BEATVER}-amd64.deb
- name: Changement du fichier de conf
copy:
@ -15,9 +15,9 @@
- name: Configuration de metricbeat
shell: metricbeat modules enable system
notify: start metricbeat
notify: restart metricbeat
- name: Lancement de la configuration de metricbeat
shell: metricbeat setup -e
notify: start metricbeat
notify: restart metricbeat

View File

@ -1,19 +1,32 @@
Procédure d'installation de **r-vp1** et de copie du fichier wg0-b.conf.
# <p align="center">Procédure d'installation </p>
de **r-vp1** et de copie du fichier wg0-b.conf.
***
## Sur **r-vp1**:
Attendre la fin de l'installation. Ensuite lancer un serveur http avec python3 pour récuperer le fichier wg0-b.conf sur **r-vp2** .
### 🛠️ Lancer le script
```bash
cd /tools/ansible/gsb2023/Scripts
```
```bash
bash r-vp1-post.sh
```
## Sur **r-vp2**:
Depuis **r-vp1** se deplacer dans le repertoire **/tools/ansible/gsb2023** pour executer le playbook:
**"ansible-playbook -i localhost, -c local r-vp1.yml"** puis reboot **r-vp1**.
Sur **r-vp1**:
Attendre la fin de l'installation. Ensuite lancer un serveur http avec python3 pour récuperer le fichier
wg0-b.conf sur **r-vp2** . Lancer le script **r-vp1-post.sh** dans **/tools/ansible/gsb2023/Scripts**.
Sur **r-vp2**:
Lancer le script r-vp2-post.sh dans **/tools/ansible/gsb2023/Scripts** pour recuperer wg0-b.conf
et qui renomme le fichier en **wg0.conf** . Il redémarre et active le service **wg-quick@wg0**.
Lancer le script r-vp2-post.sh pour récuperer le fichier de configuration et activer l'interface wg0.
### 🛠️ Lancer le script
```bash
cd /tools/ansible/gsb2023/Scripts
```
```bash
bash r-vp2-post.sh
```
## Fin
redemarer les machines
```bash
reboot
```

View File

@ -11,4 +11,4 @@
- snmp-agent
- syslog-cli
- post
- goss
# - goss