- Deleted apps/web/src/utils/optimisticStoreUpdates.ts (unused file) - File was unused - no imports found in codebase - Mutations already use React Query's onMutate pattern - No TypeScript errors after deletion - Actions 4.4.1.2 and 4.4.1.3 complete
5.5 KiB
5.5 KiB
Améliorations du Déploiement Incus
Résumé des Améliorations
Ce document décrit toutes les améliorations apportées au déploiement Incus pour le rendre entièrement fonctionnel et robuste.
1. Configuration Réseau Améliorée
Problèmes résolus
- ✅ Configuration DNS persistante dans les conteneurs
- ✅ Configuration automatique des routes par défaut
- ✅ Activation du DHCP et DNS managé dans le réseau Incus
- ✅ Configuration réseau persistante via systemd-resolved
Améliorations
- Configuration DNS via
/etc/systemd/resolved.conf.d/dns_servers.confpour persistance - Configuration DNS directe dans
/etc/resolv.confpour effet immédiat - Vérification automatique de la connectivité réseau après configuration
- Support de serveurs DNS multiples (8.8.8.8, 1.1.1.1)
2. Script de Build Amélioré
Problèmes résolus
- ✅ Meilleure gestion des erreurs de compilation
- ✅ Support amélioré de la cross-compilation Rust
- ✅ Logs de build sauvegardés pour débogage
- ✅ Continuation du build même si un service échoue
Améliorations
- Gestion d'erreurs avec
set -euo pipefail - Logs de build sauvegardés dans
/tmp/pour analyse - Détection automatique de la disponibilité de la cross-compilation
- Compteur d'erreurs pour afficher le nombre de services ayant échoué
- Messages d'erreur plus informatifs avec chemins de logs
3. Script de Déploiement Amélioré
Problèmes résolus
- ✅ Configuration réseau automatique et persistante
- ✅ Vérification de l'état des conteneurs avant configuration
- ✅ Démarrage automatique des services après déploiement
- ✅ Vérifications de santé après déploiement
- ✅ Gestion robuste des erreurs avec continuation
Améliorations
- Attente intelligente du démarrage des conteneurs (vérification systemd)
- Configuration réseau complète (IP, route, DNS) en une seule passe
- Vérification de connectivité Internet après configuration réseau
- Démarrage automatique des services systemd après déploiement
- Vérification de l'état des services après démarrage
- Messages d'erreur informatifs avec commandes de débogage
4. Configuration Réseau Incus
Améliorations du Makefile
- Configuration automatique du DHCP dans le réseau
- Configuration automatique du DNS managé
- Vérification et mise à jour de la configuration réseau existante
- Vérification des devices du profil avant ajout
Configuration réseau
ipv4.address=10.10.10.1/24
ipv4.nat=true
ipv4.dhcp=true
dns.mode=managed
dns.nameservers=8.8.8.8,1.1.1.1
5. Commandes de Statut et Vérification
Nouvelle commande make incus-status
- Affichage de l'état de tous les conteneurs
- Statut détaillé de chaque service systemd
- Indicateurs visuels (✅/⚠️) pour l'état des services
- Format lisible et coloré
Script de vérification amélioré
- Tests de connectivité réseau entre conteneurs
- Tests de connectivité Internet
- Vérification des endpoints de santé des services
- Messages d'erreur plus informatifs
- Gestion des timeouts pour éviter les blocages
6. Gestion des Erreurs
Améliorations générales
- Utilisation de
set -euo pipefailpour détection d'erreurs stricte - Messages d'erreur informatifs avec suggestions de correction
- Continuation du déploiement même si un service échoue
- Logs sauvegardés pour analyse post-mortem
- Vérifications de santé après chaque étape critique
7. Démarrage Automatique des Services
Améliorations
- Tous les services démarrent automatiquement après déploiement
- Vérification de l'état des services après démarrage
- Messages d'avertissement si un service ne démarre pas
- Commandes suggérées pour déboguer les problèmes
8. Configuration Persistante
Améliorations
- Configuration DNS persistante via systemd-resolved
- Configuration réseau persistante dans les conteneurs
- Routes configurées automatiquement au démarrage
- IP statiques configurées via Incus et dans le conteneur
Utilisation
Déploiement complet
make deploy-incus
Vérification du statut
make incus-status
Vérification détaillée
./config/incus/verify-deployment.sh
Déploiement d'un service spécifique
./config/incus/deploy-service-native.sh backend-api
Résolution de Problèmes
Service ne démarre pas
# Vérifier les logs
incus exec veza-backend-api -- journalctl -u veza-backend-api -n 50
# Vérifier le statut
incus exec veza-backend-api -- systemctl status veza-backend-api
Problème de réseau
# Vérifier la configuration réseau
incus network show veza-network
# Tester la connectivité
incus exec veza-backend-api -- ping -c 2 8.8.8.8
incus exec veza-backend-api -- ping -c 2 10.10.10.10
Rebuild complet
# Nettoyer
make incus-stop-all
for container in $(incus list -c n --format csv | grep veza-); do
incus delete $container --force
done
# Rebuild et redéployer
make deploy-incus
Notes Techniques
- Les conteneurs utilisent Ubuntu 22.04 comme image de base
- Tous les services sont gérés via systemd
- Le réseau utilise des adresses IP statiques pour chaque service
- Le DNS est configuré à la fois via Incus et dans les conteneurs
- Les routes sont configurées automatiquement au démarrage
Prochaines Améliorations Possibles
- Support de la haute disponibilité
- Backup automatique des configurations
- Monitoring automatique des services
- Auto-scaling basé sur la charge
- Support de plusieurs environnements (dev, staging, prod)