noah-sheldon / noah-sheldon/contentforge

P3 — Multi-tenant layer

Open
#4 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

phase
Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

WorkOS orgs + per-tenant isolation + metering.

flowchart LR
    U[User] --> WO[WorkOS AuthKit - org = tenant]
    WO --> ISO[Isolation]
    ISO --> MT[MongoDB - tenant_id scoping]
    ISO --> OT[Hetzner OBJ - per-tenant prefixes + signed URLs]
    ISO --> LK[LiteLLM - virtual key per tenant]
    ISO --> MET[Metering - runs / renders / LLM spend]

Steps

  1. Auth: WorkOS AuthKit — orgs = tenants, RBAC roles, MFA, social login (1M MAU free)
  2. Tenant isolation: MongoDB queries scoped by tenant_id, OBJ prefixes, LiteLLM virtual key per tenant
  3. Tenant provisioning API (WorkOS org + config blob + OBJ prefixes + LiteLLM key)
  4. Usage metering: runs, renders, LLM spend via LiteLLM budgets + meters collection

Acceptance criteria

  • Two tenants never share data or config
  • Provisioning via API; usage recorded per tenant

Full detail + mermaid diagrams: PLAN.md, docs/lld.md

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read PLAN.md and docs/lld.md first, then identify the existing provisioning, persistence, object-storage, and LiteLLM entry points they describe. Implement the tenant layer and verify that API provisioning creates the required tenant resources, tenant data and configuration remain isolated, and usage is recorded per tenant.

Written by the indexing model from the issue text.

Assessment

Tech stack
mongodb, python
Domain
api, authentication, authorization, backend, cloud, databases, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.