first commit

This commit is contained in:
Nuxgrid
2026-07-22 21:01:19 +02:00
commit 8bb06f3737
57 changed files with 3529 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
# ============================================================
# Variables de l'ancien déploiement natif (hosts demo-uber / uber-stup-web,
# playbooks playbook-backend.yml / playbook-frontend.yml / playbook-file.yml).
# Ces playbooks n'existent plus dans infra/, prod/ ou pre-prod/, et aucune de
# ces variables n'est référencée par un playbook actif.
# Conservées pour ne rien casser silencieusement — à confirmer puis supprimer.
# ============================================================
directory: "/home/ubuntu"
backend_dir: "/home/ubuntu/backend"
backend_binary: "/home/ubuntu/backend/main"
uploads_dir: "/home/ubuntu/backend/uploads"
frontend_port: 5173
user_web: "www-data"
discord_webhook_url: "REMPLACER_PAR_TON_WEBHOOK_DISCORD"
user_owner: "root"
+14
View File
@@ -0,0 +1,14 @@
# Docker — utilisé par tous les playbooks qui installent Docker (prod, pre-prod, infra)
docker_user: "ubuntu"
docker_group: "docker"
docker_dir: "/home/ubuntu/docker"
# Notification Discord infra (unattended-upgrades, etc.) — infra/playbook-unattended-upgrades.yml
# Laisser vide désactive silencieusement l'envoi (voir unattended-upgrades-notify.sh.j2).
discord_infra_webhook_url: "https://discord.com/api/webhooks/1526937190410621032/EUxNm2AMFByTPa9sWmwiX1fDpl41eEKO1ssj9gJxCLkqAwQ4laRSDXNxMeToseLQROAc"
# CIS 3.3.1 (ip forwarding) — hardening/playbook-kernel-sysctl-hardening.yml
# Par défaut laissé actif (false = ne pas désactiver) : la plupart des hosts font tourner Docker
# (NAT des ports publiés) ou servent de relais VPN. Surchargé à true uniquement pour les hosts
# sans aucun rôle de forwarding (voir group_vars/load-balancer).
ip_forwarding_disabled: false
@@ -0,0 +1,40 @@
# PostgreSQL
pg_version: "16"
db_user: admin_gestion_commande_db
db_name: gestion_commande_db
db_password: "1SWDxH20rV7K2Uc2PNlwCaCxfVZEtKomF0CK9OMh"
db_host: "localhost"
db_port: 5432
# Redis
redis_bind: "127.0.0.1"
redis_port: 6379
redis_maxmemory: "1024mb"
redis_maxmemory_policy: "allkeys-lru"
redis_password: "k6UYX9RtuXJVV1HUeefbSukMcSwjvVgRsh2qJGPh"
# Nginx / backend
nginx_enable_firewall: true
backend_local_port: 8080
backend_port: 80
nginx_proxy_timeout: 60
nginx_max_body_size: "10M"
# Sauvegarde Postgres (Plakar) — prod/playbook-backup.yml
plakar_version: "1.1.4"
plakar_go_version: "1.24.0"
plakar_backup_user: plakar-backup
plakar_home_dir: /var/lib/plakar-backup
plakar_dump_dir: /var/lib/plakar-backup/dumps
plakar_config_dir: /etc/plakar-backup
plakar_passphrase_file: /etc/plakar-backup/passphrase
# Dépôt Plakar (Kloset) distant — stocké sur MinIO via S3
plakar_store_name: minio-backup
plakar_s3_endpoint: "10.0.0.4:8080"
plakar_s3_bucket: backup-db-prod-mln
plakar_s3_prefix: postgresql
plakar_s3_access_key: admin
plakar_s3_secret_key: "admin@12345"
plakar_s3_use_tls: true
plakar_email: "free6nk33@gmail.com"
@@ -0,0 +1,4 @@
# Utilisé par infra/playbook-gitea-runner.yml (configuration du swap sur le runner CI)
swap_size: 4G
swap_file: /swapfile
swap_swappiness: 10
+4
View File
@@ -0,0 +1,4 @@
# Utilisé par infra/playbook-harden-ssh.yml
user_ssh: "omnex"
group_ssh: "ssh"
password_user_ssh: "$6$w6GBkTHgj8K84P7o$pToS4pRMGLKwfpRfnz6i.WpO72Lt5DLtFQWZJsKL2dKvQrdKdi2q8xRuWqq/W3ybFNLQapvAqN33HexVjajGw0" #aiQgIAcCVIy1E33ReRssfm414dm
@@ -0,0 +1,9 @@
# Utilisé par infra/playbook-harden-ssh.yml
user_ssh: "omnex"
group_ssh: "ssh"
password_user_ssh: "$6$w6GBkTHgj8K84P7o$pToS4pRMGLKwfpRfnz6i.WpO72Lt5DLtFQWZJsKL2dKvQrdKdi2q8xRuWqq/W3ybFNLQapvAqN33HexVjajGw0" #aiQgIAcCVIy1E33ReRssfm414dm
# CIS 3.3.1 — hardening/playbook-kernel-sysctl-hardening.yml
# load-balancer est un reverse proxy applicatif pur (pas de Docker, pas de relais VPN) :
# aucun besoin de forwarding kernel, peut être désactivé sans risque.
ip_forwarding_disabled: true
+3
View File
@@ -0,0 +1,3 @@
# Dossier source du projet Docker Compose copié sur l'hôte (pre-prod/playbook-pre-prod.yml)
# NOTE : ce dossier n'existe pas encore dans le repo (voir remarque précédente sur docker-pre-prod/ manquant)
compose_project_dir: "../docker-pre-prod/"
+7
View File
@@ -0,0 +1,7 @@
# Dossier source du projet Docker Compose copié sur l'hôte (prod/playbook-prod.yml)
compose_project_dir: "../docker-prod/"
# Utilisé uniquement par prod/playbook-s3-img.yml (les autres playbooks du groupe utilisent ansible_user)
user_deploy: "ubuntu"
docker_group: "docker"
docker_dir: "/home/ubuntu/docker/s3-img"
@@ -0,0 +1,4 @@
# Même stack que prod (prod/playbook-prod.yml cible désormais ce groupe)
compose_project_dir: "../../docker-prod/"
docker_group: "docker"
user_deploy: "ubuntu"
+36
View File
@@ -0,0 +1,36 @@
[prod]
prod-uber ansible_host=131.123.39.119 ansible_user=omnex ansible_ssh_private_key_file=../.ssh/omnex vpn_ip=10.0.0.6 ansible_become_pass=aiQgIAcCVIy1E33ReRssfm414dm
[pre-prod]
pre-prod-uber ansible_host=131.123.39.112 ansible_user=omnex ansible_ssh_private_key_file=../.ssh/omnex vpn_ip=10.0.0.7 ansible_become_pass=aiQgIAcCVIy1E33ReRssfm414dm
[bdd-redis-prod]
bdd-redis-prod ansible_host=132.243.162.62 ansible_user=root ansible_ssh_private_key_file=../.ssh/key_bdd_redis vpn_ip=10.0.0.5
[replica-prod]
replica-prod-uber ansible_host=132.243.162.161 ansible_user=omnex ansible_ssh_private_key_file=../.ssh/omnex vpn_ip=10.0.0.9
[infra-monitoring-security]
monitoring-uber ansible_host=185.103.167.138 ansible_user=omnex ansible_ssh_private_key_file=../.ssh/omnex vpn_ip=10.0.0.2
[infra-runner]
runner-uber ansible_host=185.103.164.200 ansible_user=omnex ansible_ssh_private_key_file=../.ssh/omnex
[infra-utils]
s3-uber ansible_host=80.96.58.164 ansible_user=omnex ansible_ssh_private_key_file=../.ssh/omnex ansible_become_pass=aiQgIAcCVIy1E33ReRssfm414dm
[vpn-uber]
vpn-uber ansible_host=131.123.42.158 ansible_user=omnex ansible_ssh_private_key_file=../.ssh/omnex vpn_ip=10.0.0.1
[load-balancer]
load-balancer ansible_host=93.185.166.221 ansible_user=omnex ansible_ssh_private_key_file=../.ssh/omnex
[infra]
monitoring-uber ansible_host=185.103.167.138 ansible_user=omnex ansible_ssh_private_key_file=../.ssh/omnex vpn_ip=10.0.0.2
vpn-uber ansible_host=131.123.42.158 ansible_user=omnex ansible_ssh_private_key_file=../.ssh/omnex vpn_ip=10.0.0.1
backup-mln ansible_host=85.121.176.241 ansible_user=root ansible_ssh_private_key_file=../.ssh/key_backup vpn_ip=10.0.0.4
[infra:children]
infra-monitoring-security
infra-runner
infra-utils
+9
View File
@@ -0,0 +1,9 @@
# Utilisé par infra/playbook-certbot.yml (certificat unique couvrant le domaine + sous-domaines)
# Valeurs héritées de l'ancien group_vars/all/vars.yml ("demo-uber.xyz") — ne correspondent
# pas au domaine réel du VPS monitoring documenté dans INFRA.md ("uber-stup.club").
# À CONFIRMER avant tout run de ce playbook, sous peine de générer un certificat pour le mauvais domaine.
domain_name: "demo-uber.xyz"
subdomains:
- wazuh.demo-uber.xyz
- dozzle.demo-uber.xyz
- beszel.demo-uber.xyz