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