Aller au contenu principal
Version: v1-alpha

Base de données

La base de données utilisée par les services RuleShake est MongoDB.

astuce

ruleshake-start permet un démarrage rapide de la suite RuleShake. Il inclut l'installation et la configuration de la base de données MongoDB.

Configuration

Afin de pouvoir utiliser les transactions, il est nécessaire de créer et initier un replica set même si vous avez un seul nœud mongo. Pour cela, le daemon mongod doit être démarré avec le paramètre --replSet suivi du nom du replica set :

mongod --replSet rs0 --port 27017
info

Si vous souhaitez utiliser un cluster mongo, tous les nœuds du cluster doivent être démarrés avec le paramètre --replSet suivi du même nom du replica set.

Si la sécurité est activée, les nœuds doivent également partager une clé définie dans un fichier qui sert à l'authentification en interne entre les nœuds. Le nom du fichier doit être renseigné dans la commande de démarrage mongod avec le paramètre --keyFile suivi du nom du fichier.

mongod --replSet rs0 --port 27017 --keyFile /path/to/keyFile

Multi-tenancy

RuleShake supporte le multi-tenancy en partageant les mêmes ressources. Le cloisonnement des données dans la base mongo est assuré par la séparation des collections pour chaque tenant. Les collections sont préfixées par le nom du tenant.

Ainsi, un service se connecte sur la même base de données et sélectionne les collections en fonction du tenant de l'utilisateur connecté. Le tenant est présent dans le token d'authentification dans le claim ruleshake/organization.

Exemple séparation des collections pour les tenants “perf” et “samples” dans RuleShake Catalog
Figure: Exemple séparation des collections pour les tenants “perf” et “samples” dans RuleShake Catalog