awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
stancl avatar

stancl/tenancy

0
View on GitHub↗
tenancyforlaravel.com↗

Tenancy

Tenancy is a multi-tenancy framework for Laravel applications designed to support SaaS architectures. It provides a comprehensive system for implementing tenant data isolation, allowing developers to choose between dedicated multi-database schemas or single-database scoping via traits.

The project distinguishes itself through a robust resource isolation model that extends beyond the database to include filesystems, Redis stores, and caches. It features an event-driven lifecycle orchestrator for automating tenant provisioning and a flexible identification middleware that resolves tenants via domains, subdomains, URL paths, or HTTP headers.

The framework covers a broad range of operational capabilities, including automated database migrations and seeding, tenant-specific configuration overrides, and background job context propagation. It also provides tools for identity isolation, such as separate OAuth clients and session scoping, as well as administrative utilities for central tenant management and routing.

The system includes telemetry and logging utilities that tag requests and queued jobs with tenant identifiers for auditing and monitoring.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Database-Level Tenant Isolations - Assigns each tenant to a dedicated database schema to ensure complete physical separation of data.
  • SaaS Application Architectures - Provides a comprehensive architectural foundation for building SaaS applications with isolated data, filesystems, and caches.
  • Tenant-Scoped Job Executions - Initializes the tenant context automatically for background jobs to ensure they process data using correct resources.
  • Multi-Tenant Domain Managers - Maps incoming requests from subdomains or custom domains to the corresponding tenant account.
  • Tenant Resource Switching - Reconfigures database connections, cache prefixes, and filesystem paths at runtime to match the identified tenant.
  • Automated Tenant Migrations - Runs database schema updates across tenant databases using configurable default parameters.
  • Connection Configurations - Defines unique database names, credentials, and connection settings for each tenant via the tenant record.
  • Data Tenant Isolators - Provides query-level scoping via traits to restrict data access within a shared database environment.
  • Automated Database Provisioners - Automates the provisioning, migration, and isolation of dedicated databases for individual tenants.
  • Database Schema Migrations - Implements automated database migrations and seeding across all tenant-specific databases from the command line.
  • Tenant Lifecycle Managers - Provides an integrated administration interface to manage the creation, listing, and deletion of tenant records.
  • Request-Based Tenant Detectors - Determines the active tenant by analyzing domains, subdomains, or URL paths during the incoming HTTP request.
  • Tenant Identification Strategies - Resolves the active tenant by analyzing domains, subdomains, URL paths, or HTTP headers in the request.
  • Multi-Tenant Resource Isolation - Scopes caches, filesystems, and Redis stores to ensure complete resource isolation between tenants.
  • Tenant Configurations - Maps tenant-specific database attributes directly into the application configuration to allow per-tenant behavior overrides.
  • Tenant Path Isolation - Modifies storage paths and asset helpers to ensure files are stored in tenant-specific directories.
  • Tenant Storage Separation - Separates stored files and assets by tenant to ensure users only access their own resources.
  • Tenant Database Provisioning - Triggers the automatic creation of a dedicated database immediately after a new tenant is registered.
  • Tenant Context Propagation - Injects the tenant identifier into queued job payloads and restores the tenant context during background processing.
  • Tenant Lifecycle Hooks - Uses an event-based architecture to modify bootstrapping and post-creation workflows via custom listeners.
  • Session Isolations - Prevents session data from being shared across tenants by scoping storage to tenant-specific databases or Redis.
  • URL Path Identifications - Provides the capability to resolve tenant identity by parsing specific segments of the incoming request URL path.
  • Tenant Environment Bootstrappers - Uses custom bootstrapper classes to modify application state and configuration upon tenant initialization.
  • Multi-Tenancy Frameworks - A complete framework for implementing multi-tenancy in Laravel with support for multiple isolation strategies.
  • Tenant Cache Isolation - Isolates cached data by tenant to prevent cross-tenant information leakage in shared memory stores.
  • Tenant Context Propagation - Injects tenant identifiers into queued job payloads to restore the correct environment during background processing.
  • Tenant Environment Switching - Dynamically reconfigures database connections, caches, filesystems, and queues to the identified tenant's environment.
  • Tenant State Retrievals - Provides helper functions and dependency injection to access the active tenant's model and attributes.
  • Tenant Route Definitions - Registers routes that automatically apply identification middleware to isolate requests by tenant.
  • Tenant-Specific Invalidations - Enables removing cached data for specific tenants using unique tags for isolated cache clearing.
  • Cache Data Segmentations - Provides strict data isolation within Redis stores to prevent cross-tenant data leakage.
  • Session Partitioning - Blocks attempts to manipulate session cookies across tenant domains by validating the session scope.
  • Database Seeding Tools - Populates tenant databases with initial or test data using configurable seeding parameters.
  • Flexible Metadata Stores - Saves arbitrary key-value pairs into a serialized column to avoid dedicated schema changes for every attribute.
  • Cross-Tenant Query Federations - Bypasses tenant-specific scoping to retrieve data across all tenants for central administration purposes.
  • Key Prefixing Isolations - Ensures key-value data isolation by dynamically changing the Redis prefix for each tenant.
  • Per-Tenant Override APIs - Maps tenant-specific database attributes to application configuration keys for customized per-tenant settings.
  • Tenant-Scoped Model Filtering - Filters database queries using shared model traits to restrict data access in single-database environments.
  • Tenant Bootstrappers - Allows the implementation of custom bootstrapper classes to define component behavior during tenant initialization.
  • Tenant Initialization Extensions - Provides mechanisms to add custom bootstrapping logic to modify tenant-specific environment initialization.
  • Domain-Based Routing - Separates routes into central and tenant groups to ensure pages are only accessible on respective domains.
  • Tenant Authentication Isolation - Manages separate OAuth clients and encryption keys for each tenant to ensure authentication isolation.
  • Domain Access Restrictions - Validates that requests to tenant routes originate from tenant domains to block central route access.
  • Multi-Tenant Administration - Provides administrative tools to manage tenant configurations and accounts from a central application context.
  • Active Tenant State Tracking - Maintains the identity of the active tenant throughout the application lifecycle for manual resource isolation.
  • Multi-Tenant Isolation - Secures sensitive tenant data by storing attributes in custom columns with encryption casts.
  • Tenant-Scoped Token Isolation - Isolates authentication tokens and cookies across multiple tenants to ensure users remain within their specific context.
  • Event-Driven Hooks - Triggers custom business logic during tenant creation, updating, or deletion using an event-driven system.
  • Global Context Background Jobs - Runs background tasks in a global context using dedicated queue connections to prevent state leakage.
  • Manual Tenancy Initializations - Provides a way to programmatically trigger the tenant boot process to isolate resources when middleware is not applicable.
  • Tenant-Scoped Tagging - Adds tenant identifiers as tags to cache calls to scope data by tenant for selective clearing.
  • Tenant Command Execution - Provides a command-line interface to execute administrative tasks across all tenants or specific tenant subsets.
  • Tenant Context Executions - Allows running specific logic or commands within a tenant's environment before returning to the central context.
  • Tenant Lookup Caches - Stores tenant identification results in a local cache to avoid repeated expensive queries to the central database.
  • Central Route Isolations - Restricts specific routes to central domains so they cannot be reached via tenant domains.
  • General Utilities - Automates multi-tenancy implementation.
4,357 stars·486 forks·PHP·MIT·38 views

Star history

Star history chart for stancl/tenancyStar history chart for stancl/tenancy

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Tenancy

These projects share indexed features with Tenancy. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • thinkgem/jeesitethinkgem avatar

    thinkgem/jeesite

    8,044View on GitHub↗

    Jeesite is a full-stack low-code development framework designed for building enterprise administrative portals using Spring Boot, MyBatis, and Vue. It functions as a comprehensive platform for creating administrative dashboards with integrated role-based access control and organizational data permission systems. The framework distinguishes itself through a combination of automated CRUD code generation and an integrated RAG platform that connects large language models to enterprise data via vector stores. It further incorporates a BPMN-based workflow engine to automate complex business process

    Vue
    View on GitHub↗8,044
  • chillzhuang/springbladechillzhuang avatar

    chillzhuang/SpringBlade

    6,900View on GitHub↗

    SpringBlade is a development framework and platform designed for building multi-tenant SaaS applications. It provides a comprehensive scaffold for both Spring Cloud microservices and monolithic Spring Boot architectures, enabling the rapid construction of enterprise-grade software. The platform distinguishes itself through integrated LLM orchestration and industrial IoT management. It features an LLM orchestration platform that combines large language models with knowledge bases and visual AI agent workflows, alongside an IoT hub for device connectivity, state synchronization, and edge flow o

    PLpgSQL
    View on GitHub↗6,900
  • grafana/mimirgrafana avatar

    grafana/mimir

    5,133View on GitHub↗

    Mimir is a multi-tenant time series database and distributed metrics store designed for scalable telemetry. It serves as a Prometheus compatible backend, providing long-term storage and a scalable query engine for massive volumes of time-series data. The system is built for multi-tenant observability, isolating telemetry data and resource limits for independent teams or organizations within a single cluster. It ensures high availability and durability by sharding and replicating data across a distributed cluster, utilizing object storage for persistence to eliminate external database dependen

    Gometricsobservabilityopentelemetry
    View on GitHub↗5,133
  • abpframework/abpabpframework avatar

    abpframework/abp

    14,313View on GitHub↗

    ABP is an opinionated architectural framework for building enterprise software solutions using .NET and ASP.NET Core. It serves as a structural toolkit for implementing domain-driven design and microservices patterns, providing a modular enterprise architecture where functionality is organized into independent, pluggable modules. The platform is specifically designed to support multi-tenant SaaS architectures, isolating data and configurations for multiple independent customers within a single application instance. It provides enterprise boilerplate infrastructure and pre-configured templates

    C#abpangulararchitecture
    View on GitHub↗14,313
Compare all 30 related projects→

Frequently asked questions

What does stancl/tenancy do?

Tenancy is a multi-tenancy framework for Laravel applications designed to support SaaS architectures. It provides a comprehensive system for implementing tenant data isolation, allowing developers to choose between dedicated multi-database schemas or single-database scoping via traits.

What are the main features of stancl/tenancy?

The main features of stancl/tenancy are: Database-Level Tenant Isolations, SaaS Application Architectures, Tenant-Scoped Job Executions, Multi-Tenant Domain Managers, Tenant Resource Switching, Automated Tenant Migrations, Connection Configurations, Data Tenant Isolators.

Which projects share features with stancl/tenancy?

Projects with overlapping indexed features include: thinkgem/jeesite — Jeesite is a full-stack low-code development framework designed for building enterprise administrative portals using… chillzhuang/springblade — SpringBlade is a development framework and platform designed for building multi-tenant SaaS applications. It provides… grafana/mimir — Mimir is a multi-tenant time series database and distributed metrics store designed for scalable telemetry. It serves… abpframework/abp — ABP is an opinionated architectural framework for building enterprise software solutions using .NET and ASP.NET Core.… apache/pinot — Pinot is a distributed, columnar analytical database designed for high-concurrency, low-latency query processing. It… elsa-workflows/elsa-core — Elsa Core is a workflow engine framework designed for defining, executing, and managing long-running business…