Compare commits
18 Commits
v0.0.7c-ch
...
v0.0.7p-ak
Author | SHA1 | Date | |
---|---|---|---|
b812948257 | |||
88061eb89d | |||
6fbad9d9fa | |||
30c7275ba6 | |||
33529f2781 | |||
77a7f3c567 | |||
a3235af304 | |||
17647b17da | |||
78230b7f21 | |||
7d90939ea3 | |||
7c01d0aa18 | |||
ea513e616d | |||
1d7fa35e48 | |||
250483501e | |||
4abf4d4950 | |||
8ebf476e05 | |||
26ae726457 | |||
b1bd102d85 |
6
goss/s-awx.yaml
Normal file
6
goss/s-awx.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
interface:
|
||||
enp0s8:
|
||||
exists: true
|
||||
addrs:
|
||||
- 172.16.0.22/24
|
||||
mtu: 1500
|
@ -1,12 +1,14 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
|
||||
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- r-ext
|
||||
- snmp-agent
|
||||
- zabbix-cli
|
||||
- ssh-cli
|
||||
# - syslog-cli
|
||||
- post
|
||||
|
@ -1,6 +1,7 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
|
||||
roles:
|
||||
- base
|
||||
@ -9,5 +10,5 @@
|
||||
- ssh-cli
|
||||
# - syslog-cli
|
||||
- dhcp
|
||||
- snmp-agent
|
||||
- zabbix-cli
|
||||
- post
|
||||
|
26
roles/awx/README.md
Normal file
26
roles/awx/README.md
Normal file
@ -0,0 +1,26 @@
|
||||
# Rôle awx
|
||||
***
|
||||
Rôle awx: Configuration d'un serveur AWX avec k3s.
|
||||
|
||||
## Tables des matières
|
||||
1. [Que fait le rôle AWX ?]
|
||||
2. [Connexion à l'interface WEB du serveur AWX]
|
||||
|
||||
**AWX** est l'application développée par **RedHat** permettant de lancer des playbooks **ansible** depuis une interface web évoluée plutôt qu'en ligne de commande. **AWX** utlise kubernetes mise en oeuvre ici avec **k3s**.
|
||||
|
||||
## Que fait le rôle AWX ?
|
||||
Le rôle **awx** installe et configure un serveur **AWX** avec **k3s** pour cela le role:
|
||||
- Installe **k3s** en spécifiant l'adresse IP ainsi que l'interface d'écoute
|
||||
- Clone le dépot **Github** **awx-on-k3s**
|
||||
- Procéde au déploiement du pod **awx-operator**
|
||||
- Génére un certifiacat auto-signé utlisée par le serveur **AWX** en utilisant **OpenSSL**
|
||||
- Edite le fichier awx.yaml afin d'y indique le nom d'hote du serveur en accord avec le nom utlisé par les certificats
|
||||
- Déploie le serveur **AWX**
|
||||
- Test l'accésibilité du serveur **AWX**.
|
||||
|
||||
### Connexions à l'interface WEB du serveur AWX ###
|
||||
Une fois le role **awx** terminé il est possible de se connecter à l'interface web duserveur depuis un navigateur.
|
||||
S'assurer que votre machine puisse résoudre **s-awx.gsb.lan**
|
||||
- Se connecter sur : **https://s-awx.gsb.lan**
|
||||
- Utlisateur: **admin** / Mot de passe: **Ansible123!**
|
||||
|
79
roles/awx/tasks/main.yml
Normal file
79
roles/awx/tasks/main.yml
Normal file
@ -0,0 +1,79 @@
|
||||
---
|
||||
- name: Installation de k3s ...
|
||||
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 certificat auto-signé avec OpenSSL
|
||||
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: Changement de la ligne hostname dans le 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: Test d'accésibilité de l'interface web AWX
|
||||
ansible.builtin.uri:
|
||||
url: "https://s-awx.gsb.lan"
|
||||
follow_redirects: none
|
||||
method: GET
|
||||
validate_certs: false
|
||||
register: _result
|
||||
until: _result.status == 200
|
||||
retries: 60 # 90*10 seconds = 15 min
|
||||
delay: 10 # Every 10 seconds
|
||||
|
||||
- debug:
|
||||
msg: "L'installation du serveur AWX est terminée."
|
||||
|
||||
- debug:
|
||||
msg: "Connectez-vous sur: https://s-awx.gsb.lan"
|
||||
|
||||
- debug:
|
||||
msg: "Nom d'utilisateur: admin / mdp: Ansible123!"
|
||||
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
apt:
|
||||
deb: "/tmp/filebeat-{{ BEATVER }}-amd64.deb"
|
||||
|
||||
<<<<<<< HEAD
|
||||
- name: Chgt filebeat.yml - localhost:9200 - Elastic
|
||||
replace:
|
||||
path: /etc/filebeat/filebeat.yml
|
||||
@ -22,10 +23,29 @@
|
||||
replace: 's-elk.gsb.adm:5601'
|
||||
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
|
||||
# copy:
|
||||
# src: 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
|
||||
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:
|
||||
1. Création du répertoire .ssh :
|
||||
- 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
|
||||
state: directory
|
||||
|
||||
- name: Copie cle publiique depuis s-adm
|
||||
- name: Copie cle publique depuis s-adm
|
||||
ansible.posix.authorized_key:
|
||||
user: root
|
||||
state: present
|
||||
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
|
||||
```bash
|
||||
cd /tools/ansible/gsb2023/Scripts
|
||||
cd tools/ansible/gsb2024/scripts
|
||||
```
|
||||
```bash
|
||||
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
|
||||
```bash
|
||||
cd /tools/ansible/gsb2023/Scripts
|
||||
cd tools/ansible/gsb2024/scripts
|
||||
```
|
||||
```bash
|
||||
bash r-vp2-post.sh
|
||||
@ -44,4 +44,4 @@ reboot
|
||||
Veuillez maintenant vous rendre dans le dossier du role 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.
|
||||
|
||||
### 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 !
|
||||
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"
|
||||
SERVERACTIVE: "192.168.99.8"
|
||||
TOKENAPI: "f72473b7e5402a5247773e456f3709dcdd5e41792360108fc3451bbfeed8eafe"
|
||||
TOKENAPI: "a44e2a4977d61a869437739cb6086ae42f4b9937fbb96aed24bbad028469a1cf"
|
||||
|
@ -1,6 +1,8 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
|
||||
|
||||
roles:
|
||||
- base
|
||||
|
11
s-awx-post.yml
Normal file
11
s-awx-post.yml
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
- 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:
|
||||
- awx
|
12
s-awx.yml
Normal file
12
s-awx.yml
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
vars:
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- ssh-cli
|
||||
#- awx
|
||||
# - zabbix-cli
|
||||
- journald-snd
|
||||
- post
|
@ -1,6 +1,7 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
vars:
|
||||
stork_db_user: "stork-server"
|
||||
stork_db_passwd: "Azerty1+"
|
||||
|
@ -1,14 +1,16 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
# include: config.yml
|
||||
|
||||
roles:
|
||||
- base
|
||||
# - zabbix-cli
|
||||
- goss
|
||||
- zabbix-cli
|
||||
- goss
|
||||
- dns-master
|
||||
- webautoconf
|
||||
- elk-filebeat-cli
|
||||
# - elk-filebeat-cli
|
||||
# - journald-snd
|
||||
- ssh-cli
|
||||
- post
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
become: yes
|
||||
#vars:
|
||||
#glpi_version: "10.0.11"
|
||||
#glpi_dir: "/var/www/html/glpi"
|
||||
|
@ -1,7 +1,8 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
become: yes
|
||||
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
|
@ -1,4 +1,4 @@
|
||||
!/bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
#Ancien scipt 2023
|
||||
#stoper le fw
|
||||
|
Reference in New Issue
Block a user