Tenant migrations are not run once. They run per tenant, which is why adding a
tenant and deploying a release both end in the same place.
Seeing what is pending
Applying migrations
Landlord migrations run through Laravel’s own migrator. Tenant migrations run for every active tenant:Permissions and roles
TenantAclSeeder — domain permissions and default roles — for selected active
tenants. A new tenant needs this before anyone can be given meaningful access; an
existing tenant needs it again when a release introduces new permissions.
Webhook routing per tenant
Webhook routing resolves through Redis rather than the landlord database, so that inbound traffic never waits on platform storage. That makes the registry a cache with a source of truth behind it, and caches drift.Moving ingress hosts
WEBHOOK_INGRESS_DRIVER applies to newly registered channels only; the Laravel
route stays live regardless. Channels registered before a change keep pointing
where they did.
Scheduled tenant work
Some maintenance is per-tenant and runs on the scheduler rather than by hand, such as creating next month’sflow_logs partition. If the scheduler is not running,
that work silently does not happen — see Services.