add config validation support

This commit is contained in:
BeauTroll
2025-12-16 05:54:49 +01:00
parent 66e4cd166f
commit b215d8c325
3 changed files with 64 additions and 15 deletions

View File

@@ -21,7 +21,7 @@ install: ## Installe Borgmatic et configure le système
test-config: ## Valide la configuration Borgmatic
@echo "$(BLUE)Validation de la configuration...$(NC)"
@borgmatic config validate
@sudo borgmatic config validate
test-notifications: ## Teste les notifications ntfy
@echo "$(BLUE)Test des notifications ntfy...$(NC)"

View File

@@ -61,19 +61,30 @@ borg key export /path/to/repo backup-key.txt
## Tests
```bash
# 1. Tester les notifications
# 1. Valider la configuration
sudo borgmatic config validate
# 2. Tester les notifications
./scripts/test-notifications.sh
# 2. Vérifier la santé du système
# 3. Vérifier la santé du système
sudo ./scripts/healthcheck.sh
# 3. Test à vide (dry-run)
# 4. Test à vide (dry-run)
sudo borgmatic --dry-run --verbosity 2
# 4. Premier backup réel
# 5. Premier backup réel
sudo borgmatic --verbosity 1
```
### Explications des commandes de test
- **`borgmatic config validate`** : Vérifie la syntaxe YAML et la structure de config.yaml
- **`test-notifications.sh`** : Envoie des notifications de test via ntfy
- **`healthcheck.sh`** : Vérifie l'installation, la config, le timer, le repository
- **`--dry-run`** : Simule un backup complet sans rien modifier (teste la connexion au repo)
- **Sans `--dry-run`** : Exécute un vrai backup
## Vérifier le timer
```bash
@@ -140,19 +151,35 @@ borgmatic list # Devrait afficher vos anciennes archives
## En cas de problème
```bash
# Vérifier la santé
# 1. Valider d'abord la configuration
sudo borgmatic config validate
# 2. Vérifier la santé du système
sudo ./scripts/healthcheck.sh
# Voir les logs
# 3. Voir les logs
journalctl -u borgmatic.service -n 50
# Tester la configuration (avec dry-run)
borgmatic --dry-run
# 4. Tester avec dry-run
sudo borgmatic --dry-run --verbosity 2
# Mode verbeux
sudo borgmatic --verbosity 2
# 5. Mode debug (très verbeux)
sudo borgmatic --verbosity 2 --list --log-file-verbosity 2
```
### Erreurs courantes
**`repositories' is a required property`**
- Vérifiez que `repositories:` est présent dans config.yaml
- Vérifiez que `BORG_REPO` est défini dans .env
**`Additional properties are not allowed`**
- Vous utilisez une vieille structure de config pour Borgmatic 1.x
- Mettez à jour vers Borgmatic 2.0+ : `sudo pipx install borgmatic --force`
**`command not found: borgmatic`**
- Créez les liens symboliques : `sudo ln -sf /root/.local/bin/borgmatic /usr/local/bin/borgmatic`
## Support
Consultez le [README.md](README.md) pour plus de détails.

View File

@@ -152,13 +152,18 @@ borg key export /path/to/repo backup-key.txt
### Tester la configuration
```bash
# Valider la configuration (avec dry-run)
borgmatic --dry-run --verbosity 2
# 1. Valider la syntaxe du fichier de configuration
sudo borgmatic config validate
# Lister les fichiers qui seront sauvegardés
borgmatic list --json
# 2. Tester sans exécuter de backup (dry-run)
sudo borgmatic --dry-run --verbosity 2
# 3. Lister les fichiers qui seront sauvegardés
sudo borgmatic list --json
```
**Note :** `borgmatic config validate` vérifie uniquement la syntaxe YAML et la structure du fichier. Le dry-run teste la connexion au repository et simule un backup complet.
### Exécuter un backup manuel
```bash
@@ -270,6 +275,23 @@ Testez manuellement les notifications :
## Troubleshooting
### Valider la configuration
Avant tout, vérifiez que votre configuration est valide :
```bash
# Valider la syntaxe
sudo borgmatic config validate
# Si erreur, vérifier les détails
sudo borgmatic config validate --verbosity 2
```
Erreurs courantes :
- `repositories' is a required property` : Manque la section repositories
- `Additional properties are not allowed` : Propriété invalide pour cette version
- Erreurs YAML : Vérifier l'indentation (utiliser des espaces, pas des tabs)
### Le backup ne démarre pas
```bash