feat: Provisionner automatiquement un nouvel établissement
Some checks failed
CI / Backend Tests (push) Has been cancelled
CI / Frontend Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Naming Conventions (push) Has been cancelled
CI / Build Check (push) Has been cancelled

Lorsqu'un super-admin crée un établissement via l'interface, le système
doit automatiquement créer la base tenant, exécuter les migrations,
créer le premier utilisateur admin et envoyer l'invitation — le tout
de manière asynchrone pour ne pas bloquer la réponse HTTP.

Ce mécanisme rend chaque établissement opérationnel dès sa création
sans intervention manuelle sur l'infrastructure.
This commit is contained in:
2026-04-08 13:55:41 +02:00
parent bec211ebf0
commit e72867932d
107 changed files with 9709 additions and 383 deletions

View File

@@ -39,6 +39,8 @@ services:
condition: service_healthy
rabbitmq:
condition: service_healthy
minio-init:
condition: service_completed_successfully
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/docs"]
interval: 10s
@@ -221,6 +223,43 @@ services:
memory: 256M
restart: unless-stopped
# =============================================================================
# OBJECT STORAGE - MinIO (S3-compatible)
# =============================================================================
minio:
image: minio/minio:latest
container_name: classeo_minio
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: classeo
MINIO_ROOT_PASSWORD: classeo_secret
ports:
- "9000:9000"
- "9001:9001"
volumes:
- minio_data:/data
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
restart: unless-stopped
# Init container: creates the S3 bucket if it doesn't exist
minio-init:
image: minio/mc
container_name: classeo_minio_init
depends_on:
minio:
condition: service_healthy
entrypoint: >
/bin/sh -c "
mc alias set local http://minio:9000 classeo classeo_secret &&
mc mb --ignore-existing local/classeo
"
restart: "no"
# =============================================================================
# EMAIL TESTING - Mailpit
# =============================================================================
@@ -246,6 +285,7 @@ volumes:
redis_data:
rabbitmq_data:
meilisearch_data:
minio_data:
frontend_node_modules:
caddy_data:
caddy_config: