Aller au contenu principal

MinIO, stockage objet des données utilisateurs

MinIO est utilisé par HubLot comme service de stockage objet compatible S3.
Il permet de stocker l’ensemble des fichiers associés aux utilisateurs : pièces jointes, médias, documents et autres ressources persistantes.

Il est recommandé de disposer d’une instance S3 dédiée à HubLot, afin d’isoler les données applicatives et de simplifier l’exploitation, la sécurité et la gestion des quotas.

Rôle de MinIO dans l’architecture HubLot

MinIO intervient comme backend de stockage objet.

HubLot s’appuie sur MinIO pour :

  • le stockage des fichiers utilisateurs
  • la gestion des pièces jointes et médias
  • la persistance des ressources associées aux espaces collaboratifs

MinIO n’est jamais exposé directement aux utilisateurs finaux.
Les accès sont réalisés exclusivement via HubLot, à l’aide d’identifiants dédiés.

Organisation des buckets

HubLot crée automatiquement un bucket par utilisateur lors de son initialisation.

Le nommage des buckets suit la convention suivante :

user-{user-id}

Chaque bucket est :

  • isolé par utilisateur
  • géré automatiquement par HubLot
  • utilisé pour stocker l’ensemble des fichiers appartenant à cet utilisateur

Cette approche permet une séparation claire des données et facilite la mise en place de politiques de stockage.

Quotas et gestion de l’espace

L’utilisation de quotas de stockage est possible et fortement recommandée.

Les quotas permettent :

  • de limiter l’espace disque par utilisateur
  • d’éviter les abus ou une consommation excessive
  • de maîtriser la croissance globale du stockage

Les quotas sont gérés directement au niveau de MinIO et s’appliquent aux buckets créés par HubLot.

Utilisateur MinIO pour HubLot

Un utilisateur MinIO dédié doit être créé pour HubLot.

Cet utilisateur doit disposer :

  • de tous les droits sur le cluster MinIO
  • des permissions nécessaires à la création et à la gestion des buckets
  • des droits de lecture et d’écriture sur l’ensemble des objets

Les identifiants de cet utilisateur sont fournis à HubLot via les variables d’environnement :

MINIO_ACCESS_KEY=...
MINIO_SECRET_KEY=...
MINIO_ENDPOINT=...

Mode de déploiement

MinIO peut être déployé selon les pratiques standards de l’infrastructure :

  • en binaire natif
  • via Docker
  • ou au sein d’un cluster distribué

Pour les environnements de production, il est recommandé d’utiliser :

  • un cluster MinIO distribué
  • un stockage persistant
  • une configuration haute disponibilité si possible

Sécurité

Les bonnes pratiques de sécurité MinIO s’appliquent naturellement :

  • accès réseau restreint
  • identifiants dédiés à HubLot
  • chiffrement des communications (TLS)
  • rotation régulière des clés d’accès

Le fait de disposer d’une instance S3 dédiée à HubLot renforce également la sécurité globale.

Sauvegardes et maintenance

MinIO assure une bonne résilience des données, mais cela ne remplace pas une sauvegarde.

Il est recommandé de :

  • mettre en place des sauvegardes régulières ou une réplication
  • surveiller l’état du cluster et l’espace disponible
  • tester les procédures de restauration

En résumé

  • MinIO est le service de stockage objet de HubLot
  • Une instance S3 dédiée à HubLot est recommandée
  • HubLot crée un bucket par utilisateur nommé user-{user-id}
  • L’utilisation de quotas par bucket est possible et conseillée
  • Un utilisateur MinIO dédié, avec tous les droits, est requis
  • MinIO s’intègre naturellement dans l’architecture globale de HubLot