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/api
VITE_RULESHAKE_RUNNER_URL
: URL de base de l'API de RuleShake Runner. Ex:http://localhost:8082/api
VITE_RULESHAKE_REFERENTIAL_URL
: URL de base de l'API de RuleShake Referential. Ex:http://localhost:8083/api
VITE_AUTH_AUTHORITY
: URL du OAuth2/OIDC Provider. Ex:http://keycloak:9090/realms/ruleshake-samples
VITE_AUTH_CLIENT_ID
: Identifiant du client dans l'Identity Provider. Ex:ruleshake-studio
VITE_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:9001
MONGO_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:27017
REFERENTIAL_URL
: URL de base de l'API de RuleShake Referential. Ex:http://referential:9003/api
RUNNER_URL
: URL de base de l'API de RuleShake Runner. Ex:http://runner:9002/api
OAUTH2_ISSUER_URI
: URL du OAuth2/OIDC Provider. Ex:http://keycloak:9090/realms/ruleshake-samples
STUDIO_ALLOWED_ORIGINS
: URL origin de RuleShake Studio. Ex:http://localhost:9000
SECURITY_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:9002
MONGO_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:27017
REFERENTIAL_URL
: URL de base de l'API de RuleShake Referential. Ex:http://referential:9003/api
OAUTH2_ISSUER_URI
: URL du OAuth2/OIDC Provider. Ex:http://keycloak:9090/realms/ruleshake-samples
STUDIO_ALLOWED_ORIGINS
: URL origin de RuleShake Studio. Ex:http://localhost:9000
SECURITY_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:9003
MONGO_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:27017
OAUTH2_ISSUER_URI
: URL du OAuth2/OIDC Provider. Ex:http://keycloak:9090/realms/ruleshake-samples
STUDIO_ALLOWED_ORIGINS
: URL origin de RuleShake Studio. Ex:http://localhost:9000
SECURITY_USER_NAME
: Nom de l'utilisateur pour l'authentification basic pour/actuator/**
SECURITY_USER_PASSWORD
: Mot de passe pour l'authentification basic pour/actuator/**