PD-2 — Plan d'implémentation¶
📚 Navigation User Story
| Document | | | ---------- | -- | | 📋 [Spécification](PD-2-specification.md) | | | 🛠️ **Plan d'implémentation** | *(ce document)* | | ✅ [Critères d'acceptation](PD-2-acceptability.md) | | | 📝 Retour d'expérience | *(à venir)* | [← Retour à infrastructure-souveraine](../PD-193-epic.md) · [↑ Index User Story](index.md)Objectif¶
Provisionner une instance PostgreSQL managée sur OVH Cloud avec configuration sécurisée et haute disponibilité.
Choix techniques retenus¶
- Service : OVH Database (PostgreSQL 15)
- Région : GRA (Gravelines, France)
- Plan : Business (HA avec réplication)
- Encryption : At-rest et in-transit
- Backup : Automatique quotidien
Architecture ciblée¶
Découpage technique¶
Phase 1 : Provisioning instance¶
- Créer ressource Terraform :
resource "ovh_cloud_project_database" "postgresql" {
service_name = var.ovh_project_id
description = "ProbatioVault PostgreSQL"
engine = "postgresql"
version = "15"
plan = "business"
flavor = "db1-4"
nodes {
region = "GRA"
subnet_id = var.subnet_id
network_id = var.network_id
}
}
Phase 2 : Configuration sécurité¶
- Activer SSL obligatoire
- Configurer IP whitelist
- Créer utilisateur applicatif (pas postgres)
- Stocker credentials dans Vault
Phase 3 : Databases et schemas¶
- Créer database
probatiovault - Créer schémas :
public(users, configs)vault_secure(documents, envelopes)- Créer rôles :
probatio_app(applicatif)probatio_admin(maintenance)
Phase 4 : Extensions¶
- Activer extensions :
uuid-ossp(UUID generation)pgcrypto(fonctions crypto)
Phase 5 : Backup¶
- Configurer rétention :
- Backups automatiques : 7 jours
-
Point-in-time recovery : 24h
-
Tester restoration
Phase 6 : Monitoring¶
- Activer métriques OVH
- Configurer alertes :
- CPU > 80%
- Connexions > 80% max
- Disk usage > 85%
Phase 7 : Connection string¶
- Stocker dans Vault :
- Référencer dans backend NestJS
Points de vigilance¶
- SSL : sslmode=require obligatoire
- Credentials : Rotation régulière
- vRack : Accès interne uniquement
- PITR : Tester régulièrement
Hors périmètre¶
- Schémas applicatifs (→ PD-15, PD-16)
- Réplication cross-région (→ future US)
- Read replicas (→ future US)