Files
Malio-ops/README.md

190 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Voici une version **corrigée, structurée et professionnalisée**, adaptée à votre contexte actuel (scripts rebuild + infra + exploitation).
Format directement exploitable pour README.md / BookStack.
---
# MALIO-OPS
Ce dépôt centralise lensemble des **scripts dexploitation, de maintenance et dautomatisation** utilisés dans linfrastructure MALIO.
Il constitue une base unique de **versionnement, standardisation et industrialisation** des opérations techniques (backup, supervision, PostgreSQL, reconstruction de bases).
---
# Objectif
Le dépôt permet de :
* assurer le **versionnement et la traçabilité** des scripts
* garantir des **exécutions reproductibles et fiables**
* mutualiser les **bonnes pratiques dexploitation**
* centraliser la **configuration et la documentation technique**
* faciliter le **déploiement automatisé des environnements**
---
# Structure du dépôt
Organisation par domaine fonctionnel :
## CheckStorage
* Surveillance de lespace disque
* Alerting via Discord
* Vérification proactive des capacités
## BackupVaultWarden
* Sauvegarde des données Vaultwarden
* Archivage et transfert distant sécurisé
* Gestion des logs et rétention
## RecetteScripts
* Scripts legacy pour environnement de recette
* Backup PostgreSQL
* Monitoring applicatif
* Rebuild simplifié
⚠️ Dossier en cours de transition vers `RebuildBdd`
## RebuildBdd
* Nouvelle architecture standardisée de reconstruction PostgreSQL
* Gestion multi-cibles
* Exécution non interactive (compatible web/API)
* Retour structuré (JSON + logs)
---
# Focus : RebuildBdd
Ce module constitue le **socle principal de reconstruction de bases PostgreSQL**.
## Scripts principaux
* `run-rebuild-bdd.sh`
→ Point dentrée (local / IA / interface web)
* `rebuild-bdd-core.sh`
→ Logique métier de restauration (dump + rôles + base)
* `bootstrap-target-host.sh`
→ Préparation automatique de la machine cible
* `create-target-config.sh`
→ Génération des configurations par environnement
## Sous-dossiers
* `Checkup/`
→ Vérification des prérequis (PostgreSQL, accès, rôles)
* `Config/`
→ Fichiers de configuration globaux et par cible
## Fonctionnalités clés
* Installation automatique PostgreSQL si absent
* Vérification et création des rôles
* Restauration complète (rôles + base)
* Gestion des dumps distants
* Mode sécurisé (validation des paramètres)
* Logs exploitables + sortie JSON (intégration web)
👉 Documentation détaillée : `RebuildBdd/README.md`
---
# Prérequis
Les scripts nécessitent :
## Outils de base
* bash
* jq
* curl
* ssh
* scp
## Outils optionnels (selon usage)
* PostgreSQL (`psql`, `pg_dump`, `pg_restore`)
* tar
* systemd (gestion services)
---
# Configuration
## Configuration globale
Un modèle est fourni :
```bash
global.env.exemple
```
Utilisation :
```bash
cp global.env.exemple global.env
```
## Configuration locale
* Chaque module peut contenir son propre `.env`
* Les variables sensibles doivent être définies localement
⚠️ Règles strictes :
* **Aucun secret en versionné**
* Utiliser `.gitignore`
* Cloisonner les accès (SSH, DB, webhooks)
---
# Sécurité
* Authentification SSH par clé obligatoire
* Validation des paramètres en entrée (scripts rebuild)
* Isolation des environnements (cibles distinctes)
* Logs sans données sensibles
---
# Bonnes pratiques
* Scripts **idempotents** (relançables sans effet de bord)
* Logs systématiques
* Gestion des erreurs (`set -euo pipefail`)
* Centralisation des configurations
* Utilisation de formats structurés (JSON)
---
# Documentation
* Documentation détaillée par module (README locaux)
* Historique des évolutions :
```bash
CHANGELOG.md
```
---
# Positionnement actuel
* `RebuildBdd` = **standard cible**
* `RecetteScripts` = **legacy en cours de migration**
* Objectif : convergence vers une **chaîne unique, robuste et automatisable (web/API)**
---
Si vous le souhaitez, je peux :
* restructurer votre README `RebuildBdd` pour quil soit au même niveau
* ajouter un schéma darchitecture (flux SSH / dump / restore)
* ou intégrer directement votre workflow réel (IA machine + backup server + cible) dans la doc