# MALIO-OPS Ce dépôt centralise l’ensemble des **scripts d’exploitation, de maintenance et d’automatisation** utilisés dans l’infrastructure 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 d’exploitation** * 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 l’espace 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 d’entré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 ``` Ce fichier concerne la configuration legacy de `RecetteScripts`. Utilisation : ```bash cp global.env.exemple global.env ``` Pour la configuration de `RebuildBdd`, voir la documentation dédiée : ```bash RebuildBdd/README.md ``` ## 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 * Validation stricte des hôtes SSH recommandée et utilisée par défaut sur les scripts durcis * Permissions restrictives recommandées sur les `.env`, clés privées et `known_hosts` ## Déploiement Ubuntu Server Le dépôt est maintenant pensé prioritairement pour des cibles **Ubuntu Server** : * bootstrap `RebuildBdd` basé sur `apt`, `systemctl` et `sudo -n` * clients SSH en mode batch avec `StrictHostKeyChecking=yes` quand le mode strict est actif * exemples `.env` mis à jour pour expliciter les ports SSH, `known_hosts` et les timeouts --- # 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)** ---
EggMaster Un message est disperse dans les `README` du depot. Ordre de reconstruction : 1. `README.md` 2. `BackupVaultWarden/README.md` 3. `CheckStorage/README.md` 4. `RebuildBdd/README.md` 5. `RecetteScripts/README.md` La commande de dechiffrement n'est pas donnee directement. Elle se reconstruit aussi via des questions cachees dans les `README`.
Question 1 Quelle commande shell permet d'afficher exactement une chaine, sans interpretation particuliere, avant de la transmettre a une autre commande ?
Indice commande 1 ```text printf ```
Fragment 1 ```text YmllbiB2dSB0dSBtJ2FzIHRyb3V2ZXIgbW9pIG ```