Overview of go-saas multi-tenancy capabilities
maingo-saas is a headless (UI-less) multi-tenancy framework for Go. It is designed for simple or monolithic (Web) projects. For microservices-based solutions, use go-saas-kit instead.
Key features include:
- Flexible Data Storage Models:
- Database-per-tenant: Each tenant has its own dedicated database.
- Shared database: Tenants share a database, with isolation provided at the data access layer.
- Hybrid mode: A combination of both models.
- Custom Resolver: Ability to implement your own
Resolverfor advanced logic like sharding.
- Web Framework Support:
ginnet/httpkratos
- Automatic Data Isolation:
- Supports
gormfor automatic data isolation when using a shared database model.
- Supports
- Custom Tenant Resolution:
- Supports extracting tenant information from: Query String, Form parameters, Headers, Cookies, and Domain formats.
- Lifecycle Management:
- Handles initialization and database migrations for tenants upon creation or version upgrades.
- Gateway Integration:
- Supports integration with
apisix.
- Supports integration with