Base de données
La base de données utilisée par les services RuleShake est MongoDB.
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
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
.