[infra] Faire tourner PostgreSQL 17 et TimescaleDB sur Docker #80
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
1 participant
Notifications
Total time spent: 3 hours
Due date
olivier
3 hours
Dependencies
No dependencies set
Reference
g2/enervision#80
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Exigence couverte
ENF-08, ENF-09, ENF-12, ENF-14
Épreuve servie
EC04 · Cloud et sécurisation
Charge estimée
0,5 j.h
Ce qu'on veut obtenir
Sortir PostgreSQL 17 et TimescaleDB des paquets Debian et les faire tourner dans un conteneur, pour que le service de base se décrive, se reconstruise et se relise depuis le dépôt comme le reste de l'infrastructure. Aujourd'hui l'installation ne vit que sur la machine : sa configuration est dans
/etc/postgresql/17/main, éditée à la main, et le seul endroit qui la décrit est une page de documentation qui peut diverger sans que rien le détecte.Le port (5433), les noms de bases, la collation
fr_FR.UTF-8et les valeurs de dimensionnement ne changent pas : un client existant ne doit voir aucune différence, hors accès distant (voir #65).Ce ticket porte aussi la mise en conformité des rôles et des bases avec la cible arrêtée : quatre rôles applicatifs, trois bases, chaque rôle sur sa seule base, aucun accès réseau pour le superutilisateur, et retrait du rôle
keycloak.Critères d'acceptation
infra/compose/postgres/: image, compose, configuration, scripts. Le fichier.envrempli et la clé TLS restent hors dépôt.fr_FR.UTF-8manque.fr_FR.UTF-8,enervision_prodetenervision_preprodportenttimescaledb 2.29.2.enervision_prod,enervision_preprod,mlflow,grafana), aucun superutilisateur, aucunCREATEDBniCREATEROLE. Le rôle et la basekeycloakne sont pas repris.grafanaest en lecture seule surenervision_prod, y compris sur les tables créées après coup.opsd'enervision_preprodest repris sans perte, vérifié par empreinte.docs/POSTGRESQL.mdetdocs/runbooks/postgresql.mddécrivent l'état et les gestes réels, et toute commande publiée a été exécutée.Comment on le vérifie
Manuel d'exploitation à mettre à jour
docs/POSTGRESQL.md(état et configuration),docs/runbooks/postgresql.md(tous les gestes changent de forme),infra/compose/postgres/README.md(la pile),docs/runbooks/README.mdetinfra/compose/README.md(index).Risque et retour arrière
Le risque principal est la perte d'écritures pendant la bascule : la base est en service et un coéquipier peut écrire au moment du vidage. Il faut geler l'accès réseau du cluster natif puis revider, et non l'inverse.
Retour arrière : le cluster natif, ses paquets et son répertoire de données sont conservés. Il suffit de démasquer l'unité, de remettre
start.confàautoet d'arrêter le conteneur pour retrouver l'état précédent. Un vidage complet d'avant migration est conservé hors rétention.gabriel referenced this issue2026-09-02 11:33:08 +00:00