Skip to content
GitHub

Configuration

Config section: tenancy
Env prefix: LEX_TENANCY__
Config model: TenancyConfig

KeyTypeDefaultEnv varDescription
resolutionResolutionConfigLEX_TENANCY__RESOLUTION__*Resolver chain configuration
lifecycleLifecycleConfigLEX_TENANCY__LIFECYCLE__*Lifecycle and isolation
overridesConfigOverridesConfigLEX_TENANCY__OVERRIDES__*Per-tenant config overrides
integrationIntegrationConfigLEX_TENANCY__INTEGRATION__*Cross-package integration toggles
KeyTypeDefaultEnv varDescription
resolverslist[str]["jwt_claim", "header", "subdomain", "path"]LEX_TENANCY__RESOLUTION__RESOLVERSOrdered resolver names
header_namestr"x-tenant-id"LEX_TENANCY__RESOLUTION__HEADER_NAMEHeader name for HeaderTenantResolver
subdomain_patternstr | NoneNoneLEX_TENANCY__RESOLUTION__SUBDOMAIN_PATTERNBase domain for subdomain extraction
path_patternstr | None"/tenants/{tenant_id}/"LEX_TENANCY__RESOLUTION__PATH_PATTERNPath pattern for PathTenantResolver
jwt_claim_keystr"tenant_id"LEX_TENANCY__RESOLUTION__JWT_CLAIM_KEYJWT claim key
validator_cache_ttlint300LEX_TENANCY__RESOLUTION__VALIDATOR_CACHE_TTLCache TTL for validated tenants (seconds)
KeyTypeDefaultEnv varDescription
isolation_strategystr"row_level"LEX_TENANCY__LIFECYCLE__ISOLATION_STRATEGYName of isolation strategy
auto_provision_isolationboolTrueLEX_TENANCY__LIFECYCLE__AUTO_PROVISION_ISOLATIONAuto-provision on tenant creation
KeyTypeDefaultEnv varDescription
cache_ttlint60LEX_TENANCY__OVERRIDES__CACHE_TTLCache TTL for per-tenant config (seconds)
KeyTypeDefaultEnv varDescription
cache_key_prefixboolTrueLEX_TENANCY__INTEGRATION__CACHE_KEY_PREFIXPrefix cache keys with tenant ID
sql_context_bridgeboolTrueLEX_TENANCY__INTEGRATION__SQL_CONTEXT_BRIDGESync tenant context into SQL sessions
tenancy:
resolution:
resolvers:
- header
- jwt_claim
header_name: x-tenant-id
jwt_claim_key: tenant_id
lifecycle:
isolation_strategy: row_level
auto_provision_isolation: true
overrides:
cache_ttl: 120
integration:
cache_key_prefix: true
sql_context_bridge: true

Env var override form:

Terminal window
export LEX_TENANCY__RESOLUTION__RESOLVERS='["header"]'
export LEX_TENANCY__LIFECYCLE__ISOLATION_STRATEGY=schema