Requisitos
Antes de habilitar el modo multi-tenant:
- Define
MULTI_TENANT_ENABLED=trueyPLUGIN_AUTH_ENABLED=true. Matcher rechaza el arranque multi-tenant sin aplicación de autorización. - Usa
AUTH_PROVIDER=plugin-auth. El proveedor actualworkosresuelve las solicitudes verificadas en el tenant predeterminado y no es compatible con la selección de tenant. - Define
MULTI_TENANT_URLcomo una URL HTTPS de solo origen en staging y producción, además de unMULTI_TENANT_SERVICE_API_KEYno vacío.MULTI_TENANT_ENVIRONMENTes opcional y usaENV_NAMEcomo fallback si no se define. El protocolohttpsin cifrar se permite en desarrollo local; en otros entornos también requiere que definas explícitamenteMULTI_TENANT_ALLOW_INSECURE_HTTP=true. - Define
ENVIRONMENT_NAME(oENV_NAME) comostagingoproduction. - Incluye un claim válido
tenant_idotenantIden solicitudes autenticadas medianteplugin-auth. - Mantén disponible la base de datos del tenant predeterminado en el pool raíz para cargas del tenant predeterminado y herramientas operativas.
SET search_path de PostgreSQL; las credenciales específicas de tenant, los límites de red y la configuración de Tenant Manager siguen siendo parte del límite de aislamiento.
Identidad del tenant
Con
AUTH_PROVIDER=plugin-auth en modo multi-tenant, Matcher deriva la identidad del tenant de un claim JWT válido tenant_id o tenantId. No acepta un selector de tenant controlado por quien llama desde cuerpos de solicitud, parámetros de consulta o headers arbitrarios. Los despliegues con workos, single-tenant o autenticación deshabilitada usan el tenant predeterminado configurado.
Controles de connection pool
Con los límites configurados, el administrador de pools de tenants de Matcher expulsa un pool inactivo usado menos recientemente cuando resolver un tenant nuevo superaría
MULTI_TENANT_MAX_TENANT_POOLS; el tenant expulsado se vuelve a resolver bajo demanda. Valida el comportamiento de migración y fallos con la integración de Tenant Manager desplegada.
Infraestructura compartida
Matcher delega la resolución de infraestructura consciente de tenants al servicio de plataforma multi-tenancy. No supongas un nombre fijo de virtual host de RabbitMQ, una convención de headers de mensajes, formato de claves Redis, TTL de caché o prefijo S3 a partir de Matcher únicamente. Esas convenciones son específicas del componente y del despliegue; revisa la documentación de infraestructura y plataforma correspondiente antes de crear una integración.
Habilitar el modo
- Aprovisiona y verifica el tenant predeterminado y los tenants que Matcher debe atender.
- Configura el proveedor de autenticación, Tenant Manager, conectividad PostgreSQL y las variables de entorno de bootstrap.
- Inicia Matcher y confirma los health checks y una solicitud autenticada con alcance de tenant.
- Observa el número de pools de tenants y el uso de conexiones de base de datos bajo la carga esperada.
- Despliega solo después de probar el aislamiento y el comportamiento ante fallos en el entorno objetivo.
Próximos pasos
Configuración en tiempo de ejecución
Revisa los valores que Matcher puede cambiar mediante Systemplane.
Seguridad
Revisa autenticación, aislamiento de tenants y controles TLS de dependencias.

