Aurora Nexus
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 artifacts alors 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_URL
  • S3_ENDPOINT (défaut http://minio:9000)
  • MINIO_ROOT_USER
  • MINIO_ROOT_PASSWORD
  • S3_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.py

Limites (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.

On this page