Compare commits
19 Commits
v0.0.6a-ch
...
v0.0.6t-ps
Author | SHA1 | Date | |
---|---|---|---|
d16ccae801 | |||
5f5aea168c | |||
ef5701c5d1 | |||
f74728292b | |||
bfdca163f7 | |||
cb1b315819 | |||
c086bcdc7f | |||
1134ca261d | |||
b0d81dc69c | |||
331b8b0fb6 | |||
4025f996dc | |||
a1ee9c6207 | |||
a1442e534d | |||
e78ef5948b | |||
298f105805 | |||
d88745e741 | |||
fffcb22db8 | |||
abb8c15028 | |||
73b4560dd9 |
@ -11,7 +11,7 @@ GITPRJ=gsb2024
|
||||
apt-get update
|
||||
apt-get install -y lighttpd git
|
||||
STOREREP="/var/www/html/gsbstore"
|
||||
|
||||
SRC="${SRC:-http://depl.sio.lan/gsbstore}"
|
||||
|
||||
GLPIREL=10.0.11
|
||||
str="wget -nc -4 https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz"
|
||||
@ -39,7 +39,7 @@ str7="wget -nc -4 https://github.com/goss-org/goss/releases/latest/download/dgos
|
||||
str8="wget -nc -4 'https://gestsup.fr/index.php?page=download&channel=stable&version=3.2.30&type=gestsup' -O gestsup_3.2.30.zip"
|
||||
|
||||
#METRICBEAT ET FILEBEAT
|
||||
ELKREL=8.11.3
|
||||
ELKREL=8.11.4
|
||||
str81="wget -nc -4 https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-amd64.deb"
|
||||
str82="wget -nc -4 https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-windows-x86_64.zip"
|
||||
str83="wget -nc -4 https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-windows-x86_64.zip"
|
||||
@ -50,6 +50,12 @@ str84="wget -nc -4 https://artifacts.elastic.co/downloads/beats/metricbeat/metri
|
||||
|
||||
(cat <<EOT > "${STOREREP}/getall"
|
||||
#!/bin/bash
|
||||
if [[ -z "${SRC+x}" ]]; then
|
||||
echo "erreur : variable SRC indefinie"
|
||||
echo " SRC : URL serveur deploiement"
|
||||
echo "export SRC=http://depl.sio.adm/gsbstore ; ./$0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${str}
|
||||
${str31}
|
||||
@ -72,6 +78,7 @@ ${str81}
|
||||
${str82}
|
||||
${str83}
|
||||
${str84}
|
||||
wget -nc -4 "${SRC}/zabbix.sql.gz" -O zabbix.sql.gz
|
||||
|
||||
EOT
|
||||
)
|
||||
|
@ -1 +1 @@
|
||||
BEATVER: "8.11.5"
|
||||
BEATVER: "8.11.4"
|
||||
|
@ -8,6 +8,11 @@
|
||||
apt:
|
||||
deb: /tmp/filebeat-${BEATVEAR}-amd64.deb
|
||||
|
||||
- name: sorie pou debug
|
||||
fail:
|
||||
msg: "packet installe"
|
||||
|
||||
|
||||
- name: Changement du fichier de conf
|
||||
copy:
|
||||
src: filebeat.yml
|
||||
|
@ -1,9 +1,22 @@
|
||||
## Principe du rôle elk
|
||||
ELK 8.5.3
|
||||
# Le rôle elk
|
||||
ELK Version 8.5.3
|
||||
|
||||
Ce rôle permet de créer un serveur ELK pour centraliser les logs et de des métriques pour simplifier la gestion du parc informatique GSB.
|
||||
Le principe de ce rôle est d'installer docker, les différentes tâches de ce rôle sont de :
|
||||
|
||||
Ce rôle a pour but d'installer un serveur ELK pour centraliser les logs et les métriques pour simplifier la gestion du parc informatique GSB.
|
||||
|
||||
|
||||
Le rôle **elk** installe **docker**, les différentes tâches de ce rôle sont de :
|
||||
- Vérifier si ELK est déjà installé,
|
||||
- Importation un docker-compose depuis github,
|
||||
- Changement la configuration pour passer en version 'basic'
|
||||
- clonage du depot **devianthony** depuis github,
|
||||
- Changement de la configuration pour passer en version 'basic'
|
||||
- Lancement d'ELK avec docker-compose
|
||||
|
||||
## Lancement manuel
|
||||
- depuis le répertoire **nxc** :
|
||||
````shell
|
||||
docker compose up setup
|
||||
docker compose up -d
|
||||
````
|
||||
|
||||
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
regexp: 'xpack.license.self_generated.type: trial'
|
||||
replace: 'xpack.license.self_generated.type: basic'
|
||||
|
||||
- name: Execution du fichier docker-compose.yml
|
||||
shell: docker compose up -d
|
||||
args:
|
||||
chdir: /root/elk
|
||||
# - name: Execution du fichier docker-compose.yml
|
||||
# shell: docker compose pull
|
||||
# args:
|
||||
# chdir: /root/elk
|
||||
|
10
roles/lb-bd/README.md
Normal file
10
roles/lb-bd/README.md
Normal file
@ -0,0 +1,10 @@
|
||||
# Role lb-bd
|
||||
***
|
||||
Rôle lb-bd pour la mise en place de la base de données du serveur WordPress.
|
||||
|
||||
## Tables des matières
|
||||
1. Que fait le rôle lb-bd ?
|
||||
|
||||
|
||||
## Que fait le rôle lb-bd ?
|
||||
Ce rôle installe le paquet `mariadb-server` puis créé et configure la base de données nommée **wordpressdb** en ouvrant le port 3306 et en créant l'utilisateur MySQL nommé **wordpressuser** avec le mot de passe **wordpresspasswd**.
|
22
roles/lb-front/README.md
Normal file
22
roles/lb-front/README.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Rôle lb-front
|
||||
***
|
||||
Rôle lb-front pour la répartition de charge des serveurs web sur WordPress avec HAProxy
|
||||
|
||||
## Tables des matières
|
||||
1. Que fait le rôle lb-front ?
|
||||
2. Ordre d'installation des serveurs.
|
||||
|
||||
|
||||
## Que fait le rôle lb-front ?
|
||||
|
||||
Le rôle lb-front va installer `haproxy` pour le load balancing/la répartition de charge et va configurer le fichier `/etc/haproxy/haproxy.cfg`.
|
||||
|
||||
le fichier va faire du Round-Robin, un algoritme qui va équilibrer le nombre de requêtes entre s-lb-web1 et s-lb-web2.
|
||||
|
||||
le site web est accessibe à l'adresse <http://s-lb.gsb.adm>.
|
||||
|
||||
## Ordre d'installation des serveurs.
|
||||
1. Le serveur s-lb avec haproxy qui va "initialiser" les sous-réseaux dans la DMZ.
|
||||
2. Le serveur s-lb-bd qui va contenir la base de données WordPress utilisée par les serveurs web.
|
||||
3. Le serveur s-nas qui va stocker la configuration WordPress et la partager aux serveurs web en NFS. Il va aussi utiliser la base de données sur stockée s-lb-bd.
|
||||
4. Les serveurs s-web1 et s-web2 qui vont installer Apache2, PHP et afficher le serveur WordPress.
|
@ -1,3 +1,10 @@
|
||||
##Partage NFS
|
||||
|
||||
Ce rôle sert à installer nfs et à monter le répertoire /home/wordpress du s-nas dans /var/www/html/wordpress sur les serveurs webs.
|
||||
# Rôle lb-nfs-client
|
||||
***
|
||||
Rôle lb-nfs-client pour l'accès au serveur NFS sur les serveurs lb-web1 et lb-web2.
|
||||
|
||||
## Tables des matières
|
||||
1. Que fait le rôle lb-nfs-client ?
|
||||
|
||||
|
||||
## Que fait le rôle lb-nfs-client ?
|
||||
Ce rôle sert à installer le paquet `nfs-common` et à monter le répertoire /home/wordpress du s-nas dans /var/www/html/wordpress sur les serveurs webs.
|
||||
|
@ -1,10 +1,17 @@
|
||||
# Role s-nas-server
|
||||
## Installation de nfs-server et mise en oeuvre du partage /home/wordpress
|
||||
|
||||
# Role lb-nfs-server
|
||||
***
|
||||
Rôle lb-nfs-server pour la mise en place du partage des fichiers de configuration de WordPress.
|
||||
|
||||
## Tables des matières
|
||||
1. Que fait le rôle lb-nfs-server ?
|
||||
|
||||
|
||||
## Que fait le rôle lb-nfs-server ?
|
||||
Ce rôle :
|
||||
* installe **nfs-server**
|
||||
* installe le paquet `nfs-server`
|
||||
* copie le fichier de configuration **exports** pour exporter le répertoire **/home/wordpress**
|
||||
* relance le service **nfs-server**
|
||||
* décompresse wordpress
|
||||
### Objectif
|
||||
Le répertoire **/home/wordpress** est exporté par **nfs** sur le réseau **n-dmz-db**
|
||||
* décompresse WordPress dans **/home/wordpress**
|
||||
* relance le service `nfs-server`
|
||||
* Configure l'accès de WordPress à la base de données dans le fichier `wp-config.php`
|
||||
|
||||
Le répertoire **/home/wordpress** est exporté par NFS dans le sous-réseau **n-dmz-db**
|
||||
|
@ -1,3 +1,12 @@
|
||||
##Téléchargement et configuration de WordPress
|
||||
|
||||
Ce rôle télécharge wordpress depuis s-adm puis configure le fichier wp-config.php pour la situation du gsb.
|
||||
# Rôle lb-web
|
||||
***
|
||||
Rôle lb-web pour l'affichage et l'utilisation du site web.
|
||||
|
||||
## Tables des matières
|
||||
1. Que fait le rôle lb-web ?
|
||||
|
||||
|
||||
## Que fait le rôle lb-web ?
|
||||
Ce rôle télécharge les paquets nécessaires au fonctionnement du site web (`apache2`, `php` et `mariadb-client`) qui permetront aux serveurs web d'accerder a la base de données de WordPress.
|
||||
|
||||
Le site web est accessibe à l'adresse http://s-lb.gsb.adm.
|
||||
|
@ -1,8 +1,16 @@
|
||||
# Installation de Nextcloud et du proxy inverse Traefik
|
||||
|
||||
Nextcloud et Traefik fonctionnent grâce à docker. Pour pouvoir faire fonctionner ce playbook, docker doit être installé.
|
||||
## Explication de l'installation de Nextcloud
|
||||
Afin de pouvoir faire fonctionner Nextcloud et Traefik, il faut mettre en place docker. Dans un premier plan, il vas donc falloir lancer le script **getall** sur **s-adm**. Ensuite dans un second temps, il faudra etre dans le fichier **/nxc** sur **s-nxc** et lancer **docker-compose.yaml**. Pour finir, il faudra ajouter l'authentification LDAP au nextcloud grace a l'AD de **s-win**.
|
||||
|
||||
## 1.
|
||||
# <p align="center">Procédure d'installation</p>
|
||||
|
||||
***
|
||||
## 1. Installation docker
|
||||
|
||||
Voir: https://gitea.lyc-lecastel.fr/gsb/gsb2024/src/branch/main/roles/docker
|
||||
|
||||
## 2. Fonctionnement du playbook s-nxc
|
||||
|
||||
Le playbook crée le dossier **nxc** à la racine de root.
|
||||
|
||||
@ -10,11 +18,11 @@ Les fichiers "nextcloud.yml" et "traefik.yml" y seront copiés depuis le répert
|
||||
|
||||
Enfin, dans le répertoire nxc, sont créés les répertoires **certs** et **config**.
|
||||
|
||||
## 2. Copie des fichiers
|
||||
### 2.1 Copie des fichiers
|
||||
|
||||
Le playbook copie les fichiers placés dans "files" et les placer dans les bons répertoires.
|
||||
Le playbook copie les fichiers placés dans "files" et les places dans les bons répertoires.
|
||||
|
||||
## 3. Génération du certificat
|
||||
### 2.2 Génération du certificat
|
||||
|
||||
Le playbook crée un certificat **x509** grâce à **mkcert**, il s'agit d'une solution permettant de créer des certificats auto-signés. Pour cela, il télécharge **mkcert** sur **s-adm** (utiliser le script **getall**).
|
||||
|
||||
@ -25,7 +33,7 @@ Pour créer le certificat, le playbook exécute les commandes (lancé depuis nxc
|
||||
/usr/local/bin/mkcert -install # Installe mkcert
|
||||
/usr/local/bin/mkcert -key-file key.pem -cert-file cert.pem "hôte.domaine.local" "*.domaine.local" #Crée le certificat le DNS spécifié
|
||||
```
|
||||
## 4. Lancement
|
||||
## 3. Lancement
|
||||
|
||||
Le playbook lance les fichiers "docker-compose" à savoir : nextcloud.yml et traefik.yml qui démarrent les deux piles **docker**.
|
||||
|
||||
@ -37,22 +45,28 @@ ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin
|
||||
Une fois le script terminé, le site est disponible ici : https://s-nxc.gsb.lan
|
||||
|
||||
|
||||
## 5. Ajout authentification LDAP
|
||||
## 4. Ajout authentification LDAP
|
||||
|
||||
Pour ajouter l'authentification LDAP au Nextcloud, il faut :
|
||||
* Une fois l'installation de Nextcloud terminé, cliquez sur le profil et Application
|
||||
Pour ajouter l'authentification LDAP au Nextcloud, depuis **n-user** il faut :
|
||||
* Une fois l'installation de Nextcloud terminé, cliquez sur le profil et "Application"
|
||||
* Dans vos applications, descendre et activer "LDAP user and group backend"
|
||||
* Puis cliquer sur le profil, puis Paramètres d'administration et dans Administration cliquer sur Intégration LDAP/AD
|
||||
* Puis cliquer sur le profil, puis "Paramètres d'administration" et dans "Administration" cliquer sur "Intégration LDAP/AD"
|
||||
* Une fois sur la page d'intégration LDAP/AD :
|
||||
* Dans Hôte mettre :
|
||||
> ldap://s-win.gsb.lan
|
||||
* Cliquer sur Détecter le port (normalement le port 389 apparait)
|
||||
> **ldap://s-win.gsb.lan**
|
||||
* Cliquer sur "Détecter le port" (normalement le port 389 apparait)
|
||||
* Dans DN Utilisateur mettre :
|
||||
> CN=nextcloud,CN=Users,DC=GSB,DC=LAN
|
||||
> **CN=nextcloud,CN=Users,DC=gsb,DC=lan**
|
||||
* Mot de passe :
|
||||
> Azerty1+
|
||||
* Et dans Un DN de base par ligne :
|
||||
> DC=GSB,DC=LAN
|
||||
* Après la configuration passe OK
|
||||
* Une fois la configuration finie, cliquer 3 fois sur continuer
|
||||
* Une fois arrivé sur Groupes, vous pouvez vous déconnecter du compte Admin et vous connecter avec un compte qui est dans l'AD.
|
||||
> **Azerty1+**
|
||||
* Et dans "Un DN de base par ligne" :
|
||||
> **DC=gsb,DC=lan**
|
||||
* Cliquer sur "Détecter le DN de base" (normalement il apparaitra automatiquement)
|
||||
* Après la configuration réaliser, cliquer sur "Continuer", puis cliquer 3 fois sur continuer
|
||||
* Une fois arrivé sur "Groupes", vous pouvez vous déconnecter du compte Admin et vous connecter avec un compte qui est dans l'AD.
|
||||
|
||||
## Contributeurs
|
||||
|
||||
- LG
|
||||
- CH
|
||||
|
||||
|
@ -18,12 +18,5 @@ docker compose exec -u www-data app php occ maintenance:mode --off
|
||||
# création d'une archive
|
||||
tar cvfz nxc.tgz nextcloud-sqlbkp.bak nextcloud-dirbkp
|
||||
|
||||
# envoie sur s-backup
|
||||
BACKUP=/home/backup/s-nxc
|
||||
|
||||
# Préparation des dossiers qui vont accueillir les données à sauvegarder (-e lance le répertoire si il existe)
|
||||
[[ -e "${BACKUP}" ]] || mkdir -p "${BACKUP}"
|
||||
|
||||
# Sauvegarde du fichier nxc.tgz vers la machine s-backup
|
||||
scp root@s-nxc:/root/nxc/nxc.tgz "${BACKUP}/"
|
||||
|
||||
|
10
roles/smb-backup/files/backupnxc.sh
Normal file
10
roles/smb-backup/files/backupnxc.sh
Normal file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
# envoie sur s-backup
|
||||
BACKUP=/home/backup/s-nxc
|
||||
|
||||
# Préparation des dossiers qui vont accueillir les données à sauvegarder (-e lance le répertoire si il existe)
|
||||
[[ -e "${BACKUP}" ]] || mkdir -p "${BACKUP}"
|
||||
|
||||
# Sauvegarde du fichier nxc.tgz vers la machine s-backup
|
||||
scp -i ~/.ssh/id_rsa_sbackup root@s-nxc.gsb.adm:/root/nxc/nxc.tgz "${BACKUP}/"
|
@ -14,6 +14,14 @@
|
||||
group: root
|
||||
mode: '0755'
|
||||
|
||||
- name: copie script backupnxc dans /usr/local/bin
|
||||
copy:
|
||||
src: backupnxc.sh
|
||||
dest: /usr/local/bin
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0755'
|
||||
|
||||
- name: crontab backupsmb ( commentee par defaut )
|
||||
cron:
|
||||
name: backupsmb
|
||||
|
13
roles/ssh-backup-key-private/tasks/main.yml
Normal file
13
roles/ssh-backup-key-private/tasks/main.yml
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
- name: creation .ssh
|
||||
file:
|
||||
path: ~/.ssh
|
||||
state: directory
|
||||
mode: 0700
|
||||
|
||||
- name: recuperation de la cle privee generee par s-adm
|
||||
get_url:
|
||||
url: http://s-adm.gsb.adm/gsbstore/id_rsa_sbackup
|
||||
dest: /root/.ssh/id_rsa_sbackup
|
||||
mode: 0600
|
||||
|
@ -28,11 +28,11 @@
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
- name: mise ne place script hostcreate
|
||||
- name: mise en place script hostcreate
|
||||
template:
|
||||
src: hostcreate.sh.j2
|
||||
dest: /tmp/hostcreate.sh
|
||||
|
||||
- name: lancement script hostcreate
|
||||
command: bash /tmp/hostcreate.sh
|
||||
#- name: lancement script hostcreate
|
||||
#command: bash /tmp/hostcreate.sh
|
||||
|
||||
|
@ -29,42 +29,60 @@
|
||||
name: mariadb
|
||||
state: started
|
||||
|
||||
- name: 6. Modifier la variable trust function creators pour importer la base données
|
||||
- name: 6. Creer un utilisateur et lui attribuer tous les droits
|
||||
community.mysql.mysql_user:
|
||||
name: zabbix
|
||||
password: password
|
||||
priv: '*.*:ALL,GRANT'
|
||||
state: present
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
|
||||
- name: 7. Modifier la variable trust function creators pour importer la base données
|
||||
community.mysql.mysql_variables:
|
||||
variable: log_bin_trust_function_creators
|
||||
value: 1
|
||||
mode: global
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
|
||||
- name: 7. Importer la base de données
|
||||
- name: 8. Récupérer la base de données
|
||||
get_url:
|
||||
url: http://s-adm.gsb.adm/gsbstore/zabbix.sql.gz
|
||||
dest: /tmp
|
||||
|
||||
- name: 9. Importer la base de données
|
||||
community.mysql.mysql_db:
|
||||
state: import
|
||||
name: zabbix
|
||||
encoding: utf8mb4
|
||||
target: http://s-adm.gsb..adm/gsbstore/zabbix.sql.gz
|
||||
target: /tmp/zabbix.sql.gz
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
|
||||
- name: 8. Remettre a zero la variable trust function creators
|
||||
- name: 10. Remettre a zero la variable trust function creators
|
||||
community.mysql.mysql_variables:
|
||||
variable: log_bin_trust_function_creators
|
||||
value: 0
|
||||
mode: global
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
|
||||
- name: 9. Lancer le service zabbix-server
|
||||
- name: 11. Lancer le service zabbix-server
|
||||
service:
|
||||
name: zabbix-server
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
- name: 10. Lancer le service zabbix-agent
|
||||
- name: 12. Lancer le service zabbix-agent
|
||||
service:
|
||||
name: zabbix-agent
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
- name: 11. Lancer le service apache2
|
||||
- name: 13. Lancer le service apache2
|
||||
service:
|
||||
name: apache2
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
- name: 14. Gotify
|
||||
copy:
|
||||
src: gotify.sh
|
||||
dest: /usr/lib/zabbix/alertscripts
|
||||
|
@ -4,17 +4,17 @@
|
||||
vars:
|
||||
stork_db_user: "stork-server"
|
||||
stork_db_passwd: "Azerty1+"
|
||||
stork_db_name: "stork"
|
||||
stork_db_name: "stork"
|
||||
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- proxy3
|
||||
- zabbix-cli
|
||||
- gotify
|
||||
- stork-server
|
||||
- ssh-cli
|
||||
- syslog-cli
|
||||
#- syslog-cli
|
||||
- smb-backup
|
||||
- dns-slave
|
||||
- post
|
||||
- ssh-backup-key-private
|
||||
|
17
scripts/mkvm
17
scripts/mkvm
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
mkvmrelease="v1.3.2"
|
||||
mkvmrelease="v1.3.3"
|
||||
|
||||
ovarelease="2023c"
|
||||
ovafogrelease="2024a"
|
||||
@ -10,10 +10,18 @@ ovafilefog="$HOME/Téléchargements/debian-bullseye-gsb-${ovafogrelease}.ova"
|
||||
startmode=0
|
||||
deletemode=0
|
||||
|
||||
declare -A vmMem
|
||||
vmMem[r-int]=512
|
||||
vmMem[r-ext]=512
|
||||
vmMem[s-nas]=512
|
||||
vmMem[s-infra]=768
|
||||
vmMem[s-backup]=768
|
||||
vmMem[s-elk]=3072
|
||||
|
||||
usage () {
|
||||
echo "$0 - version ${mkvmrelease} - Ova version ${ovarelease}"
|
||||
echo "$0 : creation VM et parametrage interfaces"
|
||||
echo "usage : $0 [-r] [-s] <s-adm|s-infra|r-int|r-ext|s-proxy|s-mon|s-appli|s-backup|s-itil|s-ncx|s-fog>"
|
||||
echo "usage : $0 [-r] [-s] <s-adm|s-infra|r-int|r-ext|s-proxy|s-mon|s-appli|s-backup|s-itil|s-nxc|s-fog>"
|
||||
echo " option -r : efface VM existante avant creation nouvelle"
|
||||
echo " option -s : start VM apres creation"
|
||||
exit 1
|
||||
@ -33,6 +41,11 @@ create_vm () {
|
||||
VBoxManage unregistervm --delete "${nom}"
|
||||
fi
|
||||
vboxmanage import "${nomova}" --vsys 0 --vmname "${nom}"
|
||||
if [[ -v vmMem[${nom}] ]]; then
|
||||
mem=${vmMem[${nom}]}
|
||||
echo "machine ${nom}: ${mem} ..."
|
||||
VBoxManage modifyvm "${nom}" --memory "${mem}"
|
||||
fi
|
||||
}
|
||||
|
||||
setif () {
|
||||
|
@ -11,12 +11,27 @@ $ovafilefog="$HOME\Downloads\debian-bullseye-gsb-${ovafogrelease}.ova"
|
||||
$vboxmanage="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
|
||||
$deletemode=0
|
||||
|
||||
$vmMem = @{
|
||||
"r-int" = "512"
|
||||
"r-ext" = "512"
|
||||
"s-nas" = "512"
|
||||
"s-infra" = "768"
|
||||
"s-backup" = "768"
|
||||
"s-elk" = "3072"
|
||||
}
|
||||
|
||||
#FONCTIONS
|
||||
|
||||
function create_vm{ param([string]$nomvm)
|
||||
#Importation depuis l'ova
|
||||
& "$vboxmanage" import "$ovafile" --vsys 0 --vmname "$nomvm"
|
||||
Write-Host "Machine $nomvm importée"
|
||||
|
||||
if ($vmMem.ContainsKey($nomvm)) {
|
||||
& "$vboxmanage" import "$ovafile" --vsys 0 --vmname "$nomvm" --memory $vmMem[$nomvm]
|
||||
Write-Host "Machine $nomvm importée"
|
||||
} else {
|
||||
#Importation depuis l'ova
|
||||
& "$vboxmanage" import "$ovafile" --vsys 0 --vmname "$nomvm"
|
||||
Write-Host "Machine $nomvm importée"
|
||||
}
|
||||
}
|
||||
|
||||
function create_if{ param([string]$nomvm, [string]$nic, [int]$rang, [string]$reseau)
|
||||
|
Reference in New Issue
Block a user