Compare commits
9 Commits
v0.0.7i-ch
...
v0.0.7n-ps
Author | SHA1 | Date | |
---|---|---|---|
de057fad9b | |||
30c7275ba6 | |||
33529f2781 | |||
77a7f3c567 | |||
a3235af304 | |||
17647b17da | |||
78230b7f21 | |||
7d90939ea3 | |||
7c01d0aa18 |
@ -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
|
||||
|
20
roles/awx-user-cli/tasks/main.yml
Normal file
20
roles/awx-user-cli/tasks/main.yml
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
|
||||
- name: Creation user awx
|
||||
ansible.builtin.user:
|
||||
name: awx
|
||||
groups: sudo
|
||||
append: yes
|
||||
shell: /bin/bash
|
||||
|
||||
- name: Get awx key_pub
|
||||
get_url:
|
||||
url: s-adm.gsb.adm/gsbstore/id_rsa_awx.pub
|
||||
dest: /tmp
|
||||
|
||||
|
||||
- name: Set authorized key taken from file /tmp
|
||||
ansible.posix.authorized_key:
|
||||
user: awx
|
||||
state: present
|
||||
key: "{{ lookup('file', '/tmp/id_rsa_awx.pub') }}"
|
14
roles/awx-user/tasks/main.yml
Normal file
14
roles/awx-user/tasks/main.yml
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
- name: Creation user awx, cle SSH et group sudo
|
||||
ansible.builtin.user:
|
||||
name: awx
|
||||
groups: sudo
|
||||
append: yes
|
||||
shell: /bin/bash
|
||||
generate_ssh_key: yes
|
||||
|
||||
- name: Copie cle publique dans gsbstore
|
||||
copy:
|
||||
src: /home/awx/.ssh/id_rsa.pub
|
||||
dest: /var/www/html/gsbstore/id_rsa_awx.pub
|
||||
remote_src: yes
|
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.
|
8
roles/awx/default/main.yml
Normal file
8
roles/awx/default/main.yml
Normal file
@ -0,0 +1,8 @@
|
||||
#variable kea
|
||||
kea_ver: "2.4.1"
|
||||
kea_dbname: ""
|
||||
kaa_dbuser: ""
|
||||
kea_dbpasswd: ""
|
||||
kea_dhcp4_dir: "/etc/kea/kea-dhcp4.conf"
|
||||
kea_ctrl_dir: "/etc/kea/kea-ctrl-agent.conf"
|
||||
|
6
roles/awx/handlers/main.yml
Normal file
6
roles/awx/handlers/main.yml
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
- name: Restart isc-stork-server.service
|
||||
ansible.builtin.service:
|
||||
name: isc-stork-server.service
|
||||
state: restarted
|
||||
enabled: yes
|
47
roles/awx/tasks/main.yml
Normal file
47
roles/awx/tasks/main.yml
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
- 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 }}" --flanel-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: 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: 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 }}"
|
||||
|
||||
|
||||
|
||||
|
52
roles/awx/templates/server.env.j2
Normal file
52
roles/awx/templates/server.env.j2
Normal file
@ -0,0 +1,52 @@
|
||||
### database settings
|
||||
### the address of a PostgreSQL database
|
||||
STORK_DATABASE_HOST=localhost
|
||||
### the port of a PostgreSQL database
|
||||
STORK_DATABASE_PORT=5432
|
||||
### the name of a database
|
||||
STORK_DATABASE_NAME={{ stork_db_name }}
|
||||
### the username for connecting to the database
|
||||
STORK_DATABASE_USER_NAME={{ stork_db_user }}
|
||||
### the SSL mode for connecting to the database
|
||||
### possible values: disable, require, verify-ca, or verify-full
|
||||
# STORK_DATABASE_SSLMODE=
|
||||
### the location of the SSL certificate used by the server to connect to the database
|
||||
# STORK_DATABASE_SSLCERT=
|
||||
### the location of the SSL key used by the server to connect to the database
|
||||
# STORK_DATABASE_SSLKEY=
|
||||
### the location of the root certificate file used to verify the database server's certificate
|
||||
# STORK_DATABASE_SSLROOTCERT=
|
||||
### the password for the username connecting to the database
|
||||
### empty password is set to avoid prompting a user for database password
|
||||
STORK_DATABASE_PASSWORD={{stork_db_passwd }}
|
||||
|
||||
### REST API settings
|
||||
### the IP address on which the server listens
|
||||
# STORK_REST_HOST=
|
||||
### the port number on which the server listens
|
||||
# STORK_REST_PORT=
|
||||
### the file with a certificate to use for secure connections
|
||||
# STORK_REST_TLS_CERTIFICATE=
|
||||
### the file with a private key to use for secure connections
|
||||
# STORK_REST_TLS_PRIVATE_KEY=
|
||||
### the certificate authority file used for mutual TLS authentication
|
||||
# STORK_REST_TLS_CA_CERTIFICATE=
|
||||
### the directory with static files served in the UI
|
||||
STORK_REST_STATIC_FILES_DIR=/usr/share/stork/www
|
||||
### the base URL of the UI - to be used only if the UI is served from a subdirectory
|
||||
# STORK_REST_BASE_URL=
|
||||
|
||||
### enable Prometheus /metrics HTTP endpoint for exporting metrics from
|
||||
### the server to Prometheus. It is recommended to secure this endpoint
|
||||
### (e.g. using HTTP proxy).
|
||||
# STORK_SERVER_ENABLE_METRICS=true
|
||||
|
||||
### Logging parameters
|
||||
|
||||
### Set logging level. Supported values are: DEBUG, INFO, WARN, ERROR
|
||||
# STORK_LOG_LEVEL=DEBUG
|
||||
### disable output colorization
|
||||
# CLICOLOR=false
|
||||
|
||||
### path to the hook directory
|
||||
# STORK_SERVER_HOOK_DIRECTORY=
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
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: "192.168.0.2"
|
||||
awx_if: "enp0s3"
|
||||
|
||||
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
|
||||
|
Reference in New Issue
Block a user