Compare commits
16 Commits
v0.0.7c-ch
...
v0.0.7n-ak
Author | SHA1 | Date | |
---|---|---|---|
6fbad9d9fa | |||
30c7275ba6 | |||
33529f2781 | |||
77a7f3c567 | |||
a3235af304 | |||
17647b17da | |||
78230b7f21 | |||
7d90939ea3 | |||
7c01d0aa18 | |||
ea513e616d | |||
1d7fa35e48 | |||
250483501e | |||
4abf4d4950 | |||
8ebf476e05 | |||
26ae726457 | |||
b1bd102d85 |
@ -1,12 +1,14 @@
|
|||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- base
|
- base
|
||||||
- goss
|
- goss
|
||||||
- r-ext
|
- r-ext
|
||||||
- snmp-agent
|
- zabbix-cli
|
||||||
- ssh-cli
|
- ssh-cli
|
||||||
# - syslog-cli
|
# - syslog-cli
|
||||||
- post
|
- post
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
|
become: yes
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- base
|
- base
|
||||||
@ -9,5 +10,5 @@
|
|||||||
- ssh-cli
|
- ssh-cli
|
||||||
# - syslog-cli
|
# - syslog-cli
|
||||||
- dhcp
|
- dhcp
|
||||||
- snmp-agent
|
- zabbix-cli
|
||||||
- post
|
- post
|
||||||
|
21
roles/awx/README.md
Normal file
21
roles/awx/README.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Rôle Kea
|
||||||
|
***
|
||||||
|
Rôle Kea: Configuration de 2 serveurs KEA en mode haute disponbilité.
|
||||||
|
|
||||||
|
## Tables des matières
|
||||||
|
1. [Que fait le rôle Kea ?]
|
||||||
|
2. [Installation et configuration de ka]
|
||||||
|
3. [Remarques]
|
||||||
|
|
||||||
|
|
||||||
|
## Que fait le rôle Kea ?
|
||||||
|
Le rôle KEA permet de configurer 1 serveurs kea (s-kea1 et s-kea2) en mode haute disponibilité.
|
||||||
|
- Le serveur **s-kea1** sera en mode **primary** il délivrera les baux DHCP sur le réseau n-user.
|
||||||
|
- Le serveur **s-kea2**, sera en mode **stand-by** le service DHCP basculera donc sur **s-kea2** en cas disponibilité du serveur**s-kea1**.
|
||||||
|
|
||||||
|
### Installation et configuration de kea
|
||||||
|
|
||||||
|
Le rôle kea installe les packets **kea dhcp4, hooks, admin** une fois les packets installer. Il configure un serveur kea pour qu'il distribue les ips sur le réseau n-user et soit en haute disponibilité.
|
||||||
|
|
||||||
|
### Remarquees ###
|
||||||
|
Une fois le playbook **s-kea** correctement terminé et la machine **s-kea** redemarrée, redémarrée le service **isc-kea-dhcp4.service** afin de prendre en compte les modifications éfféctuées sur la couche réseau par le role POST.
|
71
roles/awx/tasks/main.yml
Normal file
71
roles/awx/tasks/main.yml
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
- name: Preparation
|
||||||
|
ansible.builtin.shell: curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.28.5+k3s1 sh -s - --write-kubeconfig-mode 644 --node-ip "{{ awx_ip }}" --flannel-iface "{{ awx_if }}"
|
||||||
|
|
||||||
|
- name: clonage du dépot awx-on-k3s
|
||||||
|
git:
|
||||||
|
repo: https://github.com/kurokobo/awx-on-k3s.git
|
||||||
|
dest: "{{ awx_dir }}"
|
||||||
|
clone: yes
|
||||||
|
force: yes
|
||||||
|
|
||||||
|
- name: Git checkout
|
||||||
|
ansible.builtin.shell: "git checkout 2.10.0"
|
||||||
|
args:
|
||||||
|
chdir: "{{ awx_dir }}"
|
||||||
|
|
||||||
|
|
||||||
|
- name: Deploiement AWX Operator ...
|
||||||
|
ansible.builtin.shell: "kubectl apply -k operator"
|
||||||
|
args:
|
||||||
|
chdir: "{{ awx_dir }}"
|
||||||
|
|
||||||
|
#- name: Git checkout
|
||||||
|
#ansible.builtin.git:
|
||||||
|
#repo: 'https://github.com/kurokobo/awx-on-k3s.git'
|
||||||
|
#dest: "{{ awx_dir }}"
|
||||||
|
#version: release-2.10.0
|
||||||
|
|
||||||
|
- name: Generation de certification auto-signé
|
||||||
|
ansible.builtin.shell: 'openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -out ./base/tls.crt -keyout ./base/tls.key -subj "/CN={{ awx_host }}/O={{ awx_host }}" -addext "subjectAltName = DNS:{{ awx_host }}"'
|
||||||
|
args:
|
||||||
|
chdir: "{{ awx_dir }}"
|
||||||
|
|
||||||
|
- name: Change hostname du fichier awx.yaml
|
||||||
|
replace:
|
||||||
|
path: ~/tools/awx-on-k3s/base/awx.yaml
|
||||||
|
regexp: 'awx.example.com'
|
||||||
|
replace: '{{ awx_host }}'
|
||||||
|
backup: yes
|
||||||
|
|
||||||
|
- name: creation du repertoire postgres-13
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /data/postgres-13
|
||||||
|
state: directory
|
||||||
|
mode: '0755'
|
||||||
|
|
||||||
|
- name: Creation repertoire projects
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /data/projects
|
||||||
|
state: directory
|
||||||
|
owner: 1000:0
|
||||||
|
|
||||||
|
- name: Deploiement d'AWX ...
|
||||||
|
ansible.builtin.shell: "kubectl apply -k base"
|
||||||
|
args:
|
||||||
|
chdir: "{{ awx_dir }}"
|
||||||
|
|
||||||
|
- name: Finalisation de l'installation awx
|
||||||
|
ansible.builtin.uri:
|
||||||
|
url: "http://s-awx.gsb.lan"
|
||||||
|
follow_redirects: none
|
||||||
|
method: GET
|
||||||
|
register: _result
|
||||||
|
until: _result.status == 200
|
||||||
|
retries: 90 # 90*10 seconds = 15 min
|
||||||
|
delay: 10 # Every 10 seconds
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
|||||||
apt:
|
apt:
|
||||||
deb: "/tmp/filebeat-{{ BEATVER }}-amd64.deb"
|
deb: "/tmp/filebeat-{{ BEATVER }}-amd64.deb"
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
- name: Chgt filebeat.yml - localhost:9200 - Elastic
|
- name: Chgt filebeat.yml - localhost:9200 - Elastic
|
||||||
replace:
|
replace:
|
||||||
path: /etc/filebeat/filebeat.yml
|
path: /etc/filebeat/filebeat.yml
|
||||||
@ -22,10 +23,29 @@
|
|||||||
replace: 's-elk.gsb.adm:5601'
|
replace: 's-elk.gsb.adm:5601'
|
||||||
backup: yes
|
backup: yes
|
||||||
|
|
||||||
|
|
||||||
|
- name: Chgt filebeat.yml - user - Kibana
|
||||||
|
replace:
|
||||||
|
path: /etc/filebeat/filebeat.yml
|
||||||
|
regexp: 'user:5601'
|
||||||
|
replace: 's-elk.gsb.adm:5601'
|
||||||
|
backup: yes
|
||||||
|
|
||||||
#- name: Changement du fichier de conf
|
#- name: Changement du fichier de conf
|
||||||
# copy:
|
# copy:
|
||||||
# src: filebeat.yml
|
# src: filebeat.yml
|
||||||
# dest: /etc/filebeat/filebeat.yml
|
# dest: /etc/filebeat/filebeat.yml
|
||||||
|
=======
|
||||||
|
- name: sorie pou debug
|
||||||
|
fail:
|
||||||
|
msg: "packet installe"
|
||||||
|
|
||||||
|
|
||||||
|
- name: Changement du fichier de conf
|
||||||
|
copy:
|
||||||
|
src: filebeat.yml
|
||||||
|
dest: /etc/filebeat/filebeat.yml
|
||||||
|
>>>>>>> d16ccae (maj pour elk-filebeat-cli)
|
||||||
|
|
||||||
- name: Configuration de filebeat
|
- name: Configuration de filebeat
|
||||||
shell: filebeat modules enable system
|
shell: filebeat modules enable system
|
||||||
|
19
roles/nxc-traefik/files/save/README.md
Normal file
19
roles/nxc-traefik/files/save/README.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Ce script Bash a pour objectif d'automatiser le processus de sauvegarde du serveur NextCloud, qui est exécuté dans un environnement Docker.
|
||||||
|
|
||||||
|
## 1. Activation du mode maintenance :
|
||||||
|
- La première commande Docker est utilisée pour mettre le serveur NextCloud en mode maintenance. Cette mesure préventive garantit qu'aucune modification n'est apportée pendant la sauvegarde, assurant ainsi la cohérence des données.
|
||||||
|
|
||||||
|
## 2. Copie des fichiers de sauvegarde :
|
||||||
|
- La commande `cd /root/nxc` change le répertoire de travail vers `/root/nxc`.
|
||||||
|
- Ensuite, la commande `rsync -Aavx nextcloud/ nextcloud-dirbkp/` effectue une copie récursive des fichiers du dossier `nextcloud/` vers `nextcloud-dirbkp/`. Ceci crée une copie locale des fichiers de NextCloud à des fins de sauvegarde.
|
||||||
|
|
||||||
|
## 3. Sauvegarde de la base de données MySQL/MariaDB :
|
||||||
|
- La ligne suivante utilise `docker compose exec` pour exécuter la commande `mysqldump` dans le conteneur de la base de données. Cela génère une sauvegarde de la base de données NextCloud qui est enregistrée dans le fichier `nextcloud-sqlbkp.bak`.
|
||||||
|
|
||||||
|
## 4. Désactivation du mode maintenance :
|
||||||
|
- Après la sauvegarde, une autre commande Docker est utilisée pour désactiver le mode maintenance de NextCloud, permettant ainsi la reprise normale des opérations.
|
||||||
|
|
||||||
|
## 5. Création d'une archive compressée :
|
||||||
|
- Enfin, la dernière ligne crée une archive compressée `nxc.tgz` qui regroupe la sauvegarde de la base de données (`nextcloud-sqlbkp.bak`) et la copie locale des fichiers NextCloud (`nextcloud-dirbkp/`).
|
||||||
|
|
||||||
|
Ce script simplifie et automatise le processus de sauvegarde de NextCloud en mettant en place la mise en mode maintenance, la copie des fichiers locaux, la sauvegarde de la base de données, la désactivation du mode maintenance, et la création d'une archive compressée consolidant l'ensemble des éléments de sauvegarde.
|
@ -1 +1,17 @@
|
|||||||
###Génération de clé publique et privée###
|
Ce script génère et distribue une paire de clés SSH (clé privée et clé publique).
|
||||||
|
|
||||||
|
## 1. Génération de la clé privée :
|
||||||
|
- Cette étape crée une clé privée de type RSA destinée à être utilisée pour des opérations liées à s-backup.
|
||||||
|
- La clé privée est enregistrée dans le chemin spécifié (`/root/id_rsa_sbackup`).
|
||||||
|
- L'attribut `state: present` garantit que la clé privée est générée si elle n'existe pas déjà.
|
||||||
|
|
||||||
|
## 2. Copie de la clé publique dans gsbstore :
|
||||||
|
- Cette étape copie la clé publique associée à la clé privée générée précédemment (`/root/id_rsa_sbackup.pub`).
|
||||||
|
- La clé publique est déplacée vers un répertoire spécifié (`/var/www/html/gsbstore`) sur la machine distante.
|
||||||
|
- Les permissions de la clé publique sont définies avec `mode: 0644`, et `remote_src: yes` indique que la source du fichier est sur la machine distante.
|
||||||
|
|
||||||
|
## 3. Copie de la clé privée dans gsbstore :
|
||||||
|
- Cette étape copie la clé privée générée dans le même répertoire que la clé publique sur la machine distante (`/var/www/html/gsbstore`).
|
||||||
|
- Les permissions de la clé privée sont également définies avec `mode: 0644`, et `remote_src: yes` indique que la source du fichier est sur la machine distante.
|
||||||
|
|
||||||
|
Ce script automatise la création d'une paire de clés SSH et déplace ces clés vers un emplacement spécifique (`/var/www/html/gsbstore`) sur une machine distante. Ces clés pourraient être utilisées dans des processus de sauvegarde sécurisés, garantissant l'authentification sécurisée lors des opérations liées à s-backup.
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
###récupération d'une clé publique###
|
# récupération d'une clé publique
|
||||||
|
|
||||||
Ce script permet de récupérer un clé publique créer depuis la machine s-adm:
|
Ce script permet de récupérer un clé publique créer depuis la machine s-adm:
|
||||||
1. Création du répertoire .ssh :
|
1. Création du répertoire .ssh :
|
||||||
- Il crée le répertoire `~/.ssh` avec des permissions strictes (0700) pour l'utilisateur.
|
- Il crée le répertoire `~/.ssh` avec des permissions strictes (0700) pour l'utilisateur.
|
||||||
|
9
roles/ssh-backup-key-pub/README.md
Normal file
9
roles/ssh-backup-key-pub/README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# script de récupération de la clé publique générer par s-adm
|
||||||
|
|
||||||
|
Ce script Ansible utilise le module `ansible.posix.authorized_key` pour gérer les clés SSH autorisées sur un système conforme aux normes POSIX. Plus précisément, la tâche vise à garantir la présence d'une clé publique spécifiée dans le fichier des clés autorisées pour l'utilisateur `root`.
|
||||||
|
|
||||||
|
- `user: root` : Indique que la clé SSH est associée à l'utilisateur root.
|
||||||
|
- `state: present` : Spécifie que la clé doit être présente dans le fichier des clés autorisées. Si la clé n'existe pas, elle sera ajoutée.
|
||||||
|
- `key: http://s-adm.gsb.adm/gsbstore/id_rsa_sbackup.pub` : Indique l'URL à partir de laquelle la clé publique (`id_rsa_sbackup.pub`) doit être récupérée. Ansible télécharge la clé publique depuis cette URL et l'ajoute au fichier des clés autorisées pour l'utilisateur root.
|
||||||
|
|
||||||
|
Ce script Ansible assure que la clé publique spécifiée est présente dans le fichier des clés autorisées pour l'utilisateur root sur un système compatible POSIX, en récupérant la clé publique à partir de l'URL fournie.
|
@ -6,9 +6,21 @@
|
|||||||
mode: 0700
|
mode: 0700
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
- name: Copie cle publiique depuis s-adm
|
- name: Copie cle publique depuis s-adm
|
||||||
ansible.posix.authorized_key:
|
ansible.posix.authorized_key:
|
||||||
user: root
|
user: root
|
||||||
state: present
|
state: present
|
||||||
key: http://s-adm.gsb.adm/id_rsa.pub
|
key: http://s-adm.gsb.adm/id_rsa.pub
|
||||||
|
|
||||||
|
- name: Creation user gsbadm
|
||||||
|
ansible.builtin.user:
|
||||||
|
name: gsbadm
|
||||||
|
groups: sudo
|
||||||
|
append: yes
|
||||||
|
shell: /bin/bash
|
||||||
|
|
||||||
|
- name: Copie cle publique oour gsbadm depuis s-adm
|
||||||
|
ansible.posix.authorized_key:
|
||||||
|
user: gsbadm
|
||||||
|
state: present
|
||||||
|
key: http://s-adm.gsb.adm/id_rsa.pub
|
||||||
|
@ -17,7 +17,7 @@ Attendre la fin de l'installation. Ensuite lancer le scipt r-vp1-post.sh
|
|||||||
|
|
||||||
### 🛠️ Lancer le script r-vp1-post.sh
|
### 🛠️ Lancer le script r-vp1-post.sh
|
||||||
```bash
|
```bash
|
||||||
cd /tools/ansible/gsb2023/Scripts
|
cd tools/ansible/gsb2024/scripts
|
||||||
```
|
```
|
||||||
```bash
|
```bash
|
||||||
bash r-vp1-post.sh
|
bash r-vp1-post.sh
|
||||||
@ -30,7 +30,7 @@ Puis lancer le script r-vp2-post.sh pour récuperer le fichier de configuration
|
|||||||
|
|
||||||
### 🛠️ Lancer le script
|
### 🛠️ Lancer le script
|
||||||
```bash
|
```bash
|
||||||
cd /tools/ansible/gsb2023/Scripts
|
cd tools/ansible/gsb2024/scripts
|
||||||
```
|
```
|
||||||
```bash
|
```bash
|
||||||
bash r-vp2-post.sh
|
bash r-vp2-post.sh
|
||||||
@ -44,4 +44,4 @@ reboot
|
|||||||
Veuillez maintenant vous rendre dans le dossier du role ferm :
|
Veuillez maintenant vous rendre dans le dossier du role ferm :
|
||||||
*gsb2024/roles/fw-ferm*
|
*gsb2024/roles/fw-ferm*
|
||||||
|
|
||||||
*Modification : jm*
|
*Modification : jm*
|
||||||
|
@ -11,7 +11,7 @@ Rôle du Zabbix client pour la supervision des différentes machines en active
|
|||||||
Il permet de configurer les agents zabbix en active sur le serveur.
|
Il permet de configurer les agents zabbix en active sur le serveur.
|
||||||
|
|
||||||
### Installation et configuration de Zabbix-agent
|
### Installation et configuration de Zabbix-agent
|
||||||
Le rôle Zabbix-cli va installer Zabbix-agent sur les serveurs Debian. Vous pouvez modifier les paramètres dans le fichier 'defaults'. Il s'agit d'une configuration en mode actif, ce qui signifie que du côté du serveur, il suffit de définir les hôtes avec leur nom, le type d'OS, et pour notre cas, préciser qu'il s'agit d'une machine virtuelle sur le serveur Zabbix.
|
Le rôle Zabbix-cli installe Zabbix-agent sur Debian. Les paramètres sont modifiable dans le fichier 'defaults'. Il s'agit d'une configuration en mode actif(remonte lui seule au serveur zabbix), ce qui signifie que du côté du serveur, il suffit de définir les hôtes avec leur nom, le type d'OS, et pour notre cas, préciser qu'il s'agit d'une machine virtuelle sur le serveur Zabbix.(Le script hostcreate.sh remonte automatiquement les machines uniquement si la clée d'api est valide)
|
||||||
### Partie Windows !
|
### Partie Windows !
|
||||||
Le fonctionnement de Zabbix-agent n'est pas différent de celui sur Linux. Cependant, lorsque vous êtes sur le site de Zabbix pour installer l'agent, veillez à choisir la version classique de Zabbix-agent plutôt que la version 2, car elle requiert plus de ressources pour une faible supervision supplémentaire.
|
Le fonctionnement de Zabbix-agent n'est pas différent de celui sur Linux. Cependant, lorsque vous êtes sur le site de Zabbix pour installer l'agent, veillez à choisir la version classique de Zabbix-agent plutôt que la version 2, car elle requiert plus de ressources pour une faible supervision supplémentaire.
|
||||||
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
SERVER: "127.0.0.1"
|
SERVER: "127.0.0.1"
|
||||||
SERVERACTIVE: "192.168.99.8"
|
SERVERACTIVE: "192.168.99.8"
|
||||||
TOKENAPI: "f72473b7e5402a5247773e456f3709dcdd5e41792360108fc3451bbfeed8eafe"
|
TOKENAPI: "a44e2a4977d61a869437739cb6086ae42f4b9937fbb96aed24bbad028469a1cf"
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- base
|
- base
|
||||||
|
17
s-awx.yml
Normal file
17
s-awx.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
- hosts: localhost
|
||||||
|
connection: local
|
||||||
|
vars:
|
||||||
|
awx_host: "s-awx.gsb.lan"
|
||||||
|
awx_dir: "/root/tools/awx-on-k3s"
|
||||||
|
awx_ip: "172.16.0.22"
|
||||||
|
awx_if: "enp0s8"
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- base
|
||||||
|
# - goss
|
||||||
|
#- ssh-cli
|
||||||
|
- awx
|
||||||
|
# - zabbix-cli
|
||||||
|
#- journald-snd
|
||||||
|
- post
|
@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
|
become: yes
|
||||||
vars:
|
vars:
|
||||||
stork_db_user: "stork-server"
|
stork_db_user: "stork-server"
|
||||||
stork_db_passwd: "Azerty1+"
|
stork_db_passwd: "Azerty1+"
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
|
become: yes
|
||||||
# include: config.yml
|
# include: config.yml
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- base
|
- base
|
||||||
# - zabbix-cli
|
- zabbix-cli
|
||||||
- goss
|
- goss
|
||||||
- dns-master
|
- dns-master
|
||||||
- webautoconf
|
- webautoconf
|
||||||
- elk-filebeat-cli
|
# - elk-filebeat-cli
|
||||||
# - journald-snd
|
# - journald-snd
|
||||||
- ssh-cli
|
- ssh-cli
|
||||||
- post
|
- post
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
|
become: yes
|
||||||
#vars:
|
#vars:
|
||||||
#glpi_version: "10.0.11"
|
#glpi_version: "10.0.11"
|
||||||
#glpi_dir: "/var/www/html/glpi"
|
#glpi_dir: "/var/www/html/glpi"
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
---
|
---
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
connection: local
|
connection: local
|
||||||
|
become: yes
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- base
|
- base
|
||||||
- goss
|
- goss
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
#Ancien scipt 2023
|
#Ancien scipt 2023
|
||||||
#stoper le fw
|
#stoper le fw
|
||||||
|
Reference in New Issue
Block a user