Installation
ruleshake-start permet un démarrage rapide de la suite RuleShake incluant également la configuration de la base de données MongoDB et le fournisseur d'identité Keycloak.
Prérequis
Afin de pouvoir exécuter les services RuleShake, il est nécessaire d'avoir un MongoDB et un Identity Provider pour l'authentification à la fois du front RuleShake Studio, mais également des services back RuleShake Catalog, Runner et Referential.
Ces middlewares doivent être configurés avant d'être utilisés par les services RuleShake :
📄️ Authentification
L'authentification dans RuleShake est assurée par le standard OpenID Connect basée sur OAuth2.
📄️ Base de données
La base de données utilisée par les services RuleShake est MongoDB.
Installation des services RuleShake
docker-compose.yml
version: "3.8"
services:
studio:
image: ruleshake/studio
container_name: "ruleshake-studio"
restart: unless-stopped
ports:
- '9000:80'
environment:
VITE_RULESHAKE_CATALOG_URL: "http://localhost:9001/api"
VITE_RULESHAKE_RUNNER_URL: "http://localhost:9002/api"
VITE_RULESHAKE_REFERENTIAL_URL: "http://localhost:9003/api"
VITE_AUTH_AUTHORITY: ${KEYCLOAK_AUTHORITY}
VITE_AUTH_CLIENT_ID: ${KEYCLOAK_CLIENT_ID}
VITE_AUTH_CLIENT_SECRET: ${KEYCLOAK_CLIENT_SECRET}
catalog:
image: ruleshake/catalog
container_name: "ruleshake-catalog"
restart: unless-stopped
ports:
- '9001:9001'
environment:
CATALOG_PORT: 9001
MONGO_URL: ${MONGO_URL}
REFERENTIAL_URL: http://referential:9003/api
RUNNER_URL: http://runner:9002/api
OAUTH2_ISSUER_URI: ${KEYCLOAK_AUTHORITY}
STUDIO_ALLOWED_ORIGINS: http://localhost:9000
SECURITY_USER_NAME: admin
SECURITY_USER_PASSWORD: admin
runner:
image: ruleshake/runner
container_name: "ruleshake-runner"
restart: unless-stopped
ports:
- '9002:9002'
environment:
RUNNER_PORT: 9002
MONGO_URL: ${MONGO_URL}
REFERENTIAL_URL: http://referential:9003/api
OAUTH2_ISSUER_URI: ${KEYCLOAK_AUTHORITY}
STUDIO_ALLOWED_ORIGINS: http://localhost:9000
SECURITY_USER_NAME: admin
SECURITY_USER_PASSWORD: admin
referential:
image: ruleshake/referential
container_name: "ruleshake-referential"
restart: unless-stopped
ports:
- '9003:9003'
environment:
REFERENTIAL_PORT: 9003
MONGO_URL: ${MONGO_URL}
OAUTH2_ISSUER_URI: ${KEYCLOAK_AUTHORITY}
STUDIO_ALLOWED_ORIGINS: http://localhost:9000
SECURITY_USER_NAME: admin
SECURITY_USER_PASSWORD: admin
Ce docker-compose.yml permet de récupérer les images docker et les démarrer sur votre machine.
Chaque image nécessite une configuration sous forme de variables d'environnements :
RuleShake Studio
Image : https://hub.docker.com/r/ruleshake/studio
VITE_RULESHAKE_CATALOG_URL: URL de base de l'API de RuleShake Catalog. Ex:http://localhost:8081/apiVITE_RULESHAKE_RUNNER_URL: URL de base de l'API de RuleShake Runner. Ex:http://localhost:8082/apiVITE_RULESHAKE_REFERENTIAL_URL: URL de base de l'API de RuleShake Referential. Ex:http://localhost:8083/apiVITE_AUTH_AUTHORITY: URL du OAuth2/OIDC Provider. Ex:http://keycloak:9090/realms/ruleshake-samplesVITE_AUTH_CLIENT_ID: Identifiant du client dans l'Identity Provider. Ex:ruleshake-studioVITE_AUTH_CLIENT_SECRET: Secret du client dans l'Identity Provider.
RuleShake Catalog
Image : https://hub.docker.com/r/ruleshake/catalog
CATALOG_PORT: Le port utilisé par l'application à l'intérieur du conteneur. Ex:9001MONGO_URL: La chaîne de connexion à la base de données MongoDB incluant le nom du serveur, le port et les informations d'identification le cas échéant. Ex:mongodb://user:password@mongo1:27017REFERENTIAL_URL: URL de base de l'API de RuleShake Referential. Ex:http://referential:9003/apiRUNNER_URL: URL de base de l'API de RuleShake Runner. Ex:http://runner:9002/apiOAUTH2_ISSUER_URI: URL du OAuth2/OIDC Provider. Ex:http://keycloak:9090/realms/ruleshake-samplesSTUDIO_ALLOWED_ORIGINS: URL origin de RuleShake Studio. Ex:http://localhost:9000SECURITY_USER_NAME: Nom de l'utilisateur pour l'authentification basic pour/actuator/**SECURITY_USER_PASSWORD: Mot de passe pour l'authentification basic pour/actuator/**
RuleShake Runner
Image: https://hub.docker.com/r/ruleshake/runner
RUNNER_PORT: Le port utilisé par l'application à l'intérieur du conteneur. Ex:9002MONGO_URL: La chaîne de connexion à la base de données MongoDB incluant le nom du serveur, le port et les informations d'identification le cas échéant. Ex:mongodb://user:password@mongo1:27017REFERENTIAL_URL: URL de base de l'API de RuleShake Referential. Ex:http://referential:9003/apiOAUTH2_ISSUER_URI: URL du OAuth2/OIDC Provider. Ex:http://keycloak:9090/realms/ruleshake-samplesSTUDIO_ALLOWED_ORIGINS: URL origin de RuleShake Studio. Ex:http://localhost:9000SECURITY_USER_NAME: Nom de l'utilisateur pour l'authentification basic pour/actuator/**SECURITY_USER_PASSWORD: Mot de passe pour l'authentification basic pour/actuator/**
RuleShake Referential
Image: https://hub.docker.com/r/ruleshake/referential
RUNNER_PORT: Le port utilisé par l'application à l'intérieur du conteneur. Ex:9003MONGO_URL: La chaîne de connexion à la base de données MongoDB incluant le nom du serveur, le port et les informations d'identification le cas échéant. Ex:mongodb://user:password@mongo1:27017OAUTH2_ISSUER_URI: URL du OAuth2/OIDC Provider. Ex:http://keycloak:9090/realms/ruleshake-samplesSTUDIO_ALLOWED_ORIGINS: URL origin de RuleShake Studio. Ex:http://localhost:9000SECURITY_USER_NAME: Nom de l'utilisateur pour l'authentification basic pour/actuator/**SECURITY_USER_PASSWORD: Mot de passe pour l'authentification basic pour/actuator/**