Aurora NexusOperations
Maintenance — Backfill `artifacts`
maintenance one‑shot (reconstruction de `artifacts` depuis MinIO/S3)
Ce document décrit un script de maintenance “one‑shot” permettant de recréer des entrées dans la table Postgres artifacts à partir des objets déjà présents dans MinIO/S3.
Quand l’utiliser ?
Uniquement en cas de désynchronisation entre :
- les objets présents dans le bucket artefacts (MinIO/S3), et
- les lignes correspondantes dans
artifacts(Postgres).
Exemples :
- restauration partielle de base,
- import de bucket sans restauration DB associée,
- incident ayant supprimé des lignes
artifactsalors que les fichiers existent encore.
Prérequis
- Avoir accès à Postgres (
DATABASE_URL) et au bucket MinIO/S3 des artefacts. - Avoir la stack disponible (ou au minimum l’environnement Python avec les dépendances).
Variables utilisées par le script (doivent être présentes dans l’environnement d’exécution) :
DATABASE_URLS3_ENDPOINT(défauthttp://minio:9000)MINIO_ROOT_USERMINIO_ROOT_PASSWORDS3_BUCKET_ARTIFACTS
Lancer le script
Option la plus simple (dans une stack Docker déjà démarrée) :
docker compose exec api python3 ops/maintenance/backfill_artifacts.pyLimites (important)
- Script best‑effort : il tente de rattacher un objet à un document via une heuristique sur le nom du fichier (à valider selon votre convention de nommage).
- Il ne doit pas être utilisé comme mécanisme normal d’ingestion.
- Recommandé : exécuter sur une fenêtre de maintenance (faible trafic) et sauvegarder la DB avant.