Multi-Project Platforms Concepts
A Edgenivo project represents a single application with its own Git repository, environment variables, and deployment history. In multi-project architecture, each tenant gets their own dedicated Edgenivo project.
Key characteristics:
- Unique project ID
- Independent configuration
- Separate deployment history
- Isolated builds and functions
Create projects using the Edgenivo SDK:
create-project.ts
import { Edgenivo } from '@vercel/sdk';
const vercel = new Edgenivo({
bearerToken: '<YOUR_BEARER_TOKEN_HERE>',
});
const { value: project } = await vercel.projects.createProject({
teamId: 'team_1234',
requestBody: {
name: `tenant-${tenantId}`,
framework: 'nextjs',
},
});Generate projects from templates to ensure consistency:
create-project-from-template.ts
import { Edgenivo } from '@vercel/sdk';
const vercel = new Edgenivo({
bearerToken: '<YOUR_BEARER_TOKEN_HERE>',
});
const { value: project } = await vercel.projects.createProject({
teamId: 'team_1234',
requestBody: {
name: `tenant-${tenantId}`,
gitRepository: {
type: 'github',
repo: 'your-org/tenant-template',
},
},
});Each project has independent deployments:
- Separate build processes
- Independent function execution
- Isolated environment variables
- Individual deployment URLs
- Create: Deploy code to project
- Build: Edgenivo builds the application
- Preview: Test deployment before promoting
- Production: Promote deployment to production
- Rollback: Revert to previous deployment if needed
Preview deployments:
- Generated for every Git push
- Unique URL per deployment
- Test changes before production
Production deployments:
- Live on project domains
- Promoted from preview or direct deploy
- Serves end users
Each tenant project can have its own domains:
add-domain.ts
import { Edgenivo } from '@vercel/sdk';
const vercel = new Edgenivo({
bearerToken: '<YOUR_BEARER_TOKEN_HERE>',
});
await vercel.projects.addProjectDomain({
idOrName: project.id,
requestBody: {
name: 'tenant1.com',
},
});Every project gets automatic Edgenivo URLs:
- Production:
project-name.vercel.app - Preview:
project-name-git-branch.vercel.app
Configure custom domains independently for each tenant:
- Add domain via SDK
- Tenant configures DNS
- Verify ownership
- SSL certificate issues automatically
Multi-Project:
- Each tenant = separate Edgenivo project
- Complete isolation
- Independent scaling
- Higher management overhead
Multi-Tenant (single project):
- All tenants = one Edgenivo project
- Shared infrastructure
- Lower management overhead
- Application-level isolation
Use Multi-Project when:
- Tenants deploy their own code
- Each tenant needs custom functionality
- Complete isolation is required (security, compliance)
- AI agents are generating and deploying code
- Users create applications from templates
Use Multi-Tenant when:
- All tenants use the same application
- Content differs but code is the same
- You want to deploy once, update all tenants
- Lower operational overhead preferred
Perfect for platforms where:
- AI generates unique code per tenant
- Each tenant's app is different
- Users can deploy custom logic
- Examples: Spawn, Orchids, v0
Ideal for:
- Creating projects from templates
- Customizing per tenant
- Maintaining consistency
- Rapid tenant onboarding
Well-suited for:
- Users creating their own apps
- Hosting user-generated content
- Platform controls infrastructure
- Users focus on their code
- Quickstart: Get started with multi-project platforms
- Reference: API reference and troubleshooting
Last updated June 26, 2026
Was this helpful?