4NK_vault/CHANGELOG.md
4NK Dev 5ff468bc84 feat: Système de templates automatisé v2.0.0
- Introduction du système de templates avec séparation templates/storage
- Scripts de génération automatisée pour toutes les configurations
- Résolution multi-passes des variables imbriquées
- API simplifiée qui lit uniquement storage/ (plus de traitement de variables)
- Documentation complète du nouveau système
- Support des services externes (BOOTSTRAP, LECOFFRE_BACK_MINI)
- Protection des templates sources et isolation des environnements
2025-10-05 13:53:38 +00:00

7.7 KiB

Changelog 4NK Vault

Toutes les modifications notables de ce projet seront documentées dans ce fichier.

Le format est basé sur Keep a Changelog, et ce projet adhère au Semantic Versioning.

[2.0.0] - 2024-12-XX

🔄 Modifié

Architecture Majeure

  • Système de templates automatisé : Introduction d'un workflow de génération automatisé
  • Séparation des responsabilités : templates/ pour les sources, storage/ pour les fichiers finaux
  • API simplifiée : L'API ne lit plus que storage/ et ne traite plus les variables d'environnement
  • Génération automatisée : Scripts de génération pour toutes les configurations

Scripts de Génération

  • generate.sh : Script principal d'orchestration de tous les processus de génération
  • generate_variables.sh : Génération automatisée des variables d'environnement et Docker Compose
  • generate_grafana_dashboards.sh : Génération automatique des dashboards Grafana
  • generate_promtail_config.sh : Génération de la configuration Promtail
  • generate_logrotate_configs.sh : Génération des configurations logrotate
  • generate_nginx_configs.sh : Génération des configurations nginx
  • replace_variables_and_copy.sh : Résolution multi-passes des variables et copie vers storage/

Résolution des Variables

  • Résolution multi-passes : Jusqu'à 5 passes pour résoudre les variables imbriquées
  • Chargement séquentiel : .env.secrets.env.env.auto.env.post
  • Export explicite : Toutes les variables sont explicitement exportées
  • Protection renforcée : Contre les dépendances circulaires et les boucles infinies

🚀 Ajouté

Nouveau Système de Templates

  • Structure templates/ : Templates sources avec variables ($VARIABLE)
  • Génération automatisée : Création automatique de toutes les configurations
  • Support des services externes : BOOTSTRAP, LECOFFRE_BACK_MINI
  • Variables composites : Support des variables imbriquées complexes

Documentation

  • docs/templates-system.md : Documentation complète du système de templates
  • Workflow de génération : Guide détaillé des processus de génération
  • Exemples d'utilisation : Cas d'usage et bonnes pratiques

🔒 Sécurité

Isolation Renforcée

  • Protection des templates : Les fichiers templates/ ne sont jamais modifiés par l'API
  • Isolation des environnements : Chaque environnement a ses propres templates et configurations
  • Fichiers sensibles : Les .env.secrets ne sont jamais copiés dans storage/

📈 Performance

Optimisations

  • Fichiers pré-traités : L'API lit directement les fichiers avec variables résolues
  • Pas de traitement en temps réel : Élimination du traitement de variables par l'API
  • Génération par batch : Traitement groupé de toutes les configurations

[1.2.0] - 2024-01-XX

🚀 Ajouté

API Server

  • Traitement des variables d'environnement : Résolution automatique des variables $VAR et ${VAR}
  • Résolution récursive : Les variables peuvent référencer d'autres variables
  • Protection contre les boucles infinies : Détection automatique des dépendances circulaires
  • Endpoint /routes : Liste dynamique de toutes les routes disponibles
  • Scan dynamique : Découverte automatique des environnements et fichiers
  • Protection renforcée : Validation stricte des chemins contre les attaques de traversée
  • Compatibilité cryptographique : Harmonisation avec @noble/ciphers pour le SDK

SDK Client

  • Configuration automatique : Chargement automatique via fichier .env
  • Déchiffrement réel : Implémentation ChaCha20-Poly1305 avec @noble/ciphers
  • Synchronisation locale : Miroir automatique des fichiers déchiffrés vers ../confs/
  • Rotation automatique des clés : Mise à jour transparente des clés de déchiffrement
  • Variables d'environnement : Récupération automatique des fichiers avec variables résolues
  • Gestion d'erreurs améliorée : Classes d'erreurs spécialisées pour chaque type de problème

Documentation

  • Guide des variables d'environnement : Documentation complète du système de résolution
  • Exemples mis à jour : Scénarios complets avec 5 étapes
  • API Reference : Documentation complète des nouvelles fonctionnalités
  • Changelog : Historique détaillé des modifications

🔧 Modifié

API Server

  • Validation des IDs utilisateur : Extension de 50 à 128 caractères pour supporter les clés longues
  • Gestion des clés : Amélioration de la logique de rotation pour éviter les conflits
  • Structure des réponses : Ajout de métadonnées sur les variables résolues
  • Logs : Amélioration du système de logging pour le debugging

SDK Client

  • Architecture : Refactoring complet vers SecureVaultClient
  • Types TypeScript : Mise à jour des interfaces pour les nouvelles fonctionnalités
  • Configuration : Simplification de la configuration via .env
  • Synchronisation : Écrasement automatique des fichiers existants

🐛 Corrigé

API Server

  • Dépendances circulaires : Correction du problème HOSTDOMAIN
  • Chargement des variables : Priorité correcte du fichier .env principal
  • Validation des chemins : Protection contre les attaques de traversée
  • Compatibilité cryptographique : Synchronisation avec le SDK Node.js

SDK Client

  • Déchiffrement : Correction de l'incompatibilité Python cryptography ↔ Node.js crypto
  • Gestion des clés : Correction de la logique de rotation et de mise à jour
  • SSL : Correction de la gestion des certificats auto-signés
  • Types : Correction des erreurs TypeScript strict

🔒 Sécurité

API Server

  • Validation renforcée : Protection contre les chemins relatifs malveillants
  • Isolation : Traitement des variables en mémoire uniquement
  • Audit : Logs détaillés des accès et modifications

SDK Client

  • Chiffrement : Migration vers @noble/ciphers pour une meilleure sécurité
  • Gestion des clés : Rotation automatique et sécurisée
  • Validation : Vérification stricte des clés et certificats

[1.1.0] - 2024-01-XX

🚀 Ajouté

  • Authentification par clés utilisateur : Système d'authentification basé sur des IDs utilisateur
  • Rotation automatique des clés : Rotation des clés de chiffrement toutes les heures
  • Chiffrement quantique résistant : Implémentation ChaCha20-Poly1305
  • SDK TypeScript : Client TypeScript pour l'interaction avec l'API
  • Endpoints de monitoring : /health, /info pour la surveillance

🔧 Modifié

  • Architecture sécurisée : Refactoring complet pour la sécurité
  • HTTPS obligatoire : Toutes les communications en HTTPS
  • Stockage sécurisé : Isolation des clés par environnement

🔒 Sécurité

  • Clés individuelles : Une clé par utilisateur et par environnement
  • Métadonnées sécurisées : Timestamps et versions de clés
  • Protection des fichiers : Exclusion des clés du versioning Git

[1.0.0] - 2024-01-XX

🚀 Ajouté

  • API REST de base : Endpoints de base pour la gestion des fichiers
  • Stockage local : Système de stockage dans storage/
  • Documentation : Documentation initiale du projet
  • Tests : Tests de base pour l'API

📋 Format des versions

  • MAJOR : Changements incompatibles avec l'API
  • MINOR : Nouvelles fonctionnalités compatibles
  • PATCH : Corrections de bugs compatibles

🔗 Liens