core/baas-control-plane
2025-12-27 13:49:00 -03:00
..
data refactor: migrar backend legado para estrutura baas-control-plane 2025-12-27 13:39:45 -03:00
docs Refactor baas control plane architecture 2025-12-27 13:49:00 -03:00
src Refactor baas control plane architecture 2025-12-27 13:49:00 -03:00
.env.example Refactor baas control plane architecture 2025-12-27 13:49:00 -03:00
docker-compose.yml refactor: migrar backend legado para estrutura baas-control-plane 2025-12-27 13:39:45 -03:00
Dockerfile refactor: migrar backend legado para estrutura baas-control-plane 2025-12-27 13:39:45 -03:00
package-lock.json Refactor baas control plane architecture 2025-12-27 13:49:00 -03:00
package.json Refactor baas control plane architecture 2025-12-27 13:49:00 -03:00
README.md Refactor baas control plane architecture 2025-12-27 13:49:00 -03:00
tsconfig.json refactor: migrar backend legado para estrutura baas-control-plane 2025-12-27 13:39:45 -03:00

baas-control-plane

Control plane multi-tenant para orquestrar provedores BaaS (Appwrite, Supabase) com foco em provisioning, schema, secrets, métricas e auditoria.

Visão geral

  • Backend Node.js + TypeScript com Fastify
  • Multi-tenant com isolamento lógico por tenant
  • Providers plugáveis sem lógica de negócio
  • Serviços centrais para provisioning, schema, secrets, finops e audit

Arquitetura

/src
  /core
  /providers
  /modules
  /lib
  main.ts

Detalhes adicionais em docs/architecture.md.

Fluxo multi-tenant

  1. Criar tenant (POST /tenants)
  2. Criar projeto para o tenant (POST /tenants/:id/projects)
  3. Provisionar projeto no provider (POST /projects/:id/provision)
  4. Sincronizar schema (POST /projects/:id/schema/sync)
  5. Coletar métricas (GET /projects/:id/metrics)

Como adicionar um novo provider

  1. Criar pasta em src/providers/<provider>
  2. Implementar client, provisioning, schema, metrics
  3. Registrar no provider.factory.ts
  4. Adicionar variáveis em .env.example e no SecretsService

Como subir localmente

cp .env.example .env
npm install
npm run dev

Docker

docker compose up --build

API mínima

  • POST /tenants
  • GET /tenants
  • POST /tenants/:id/projects
  • GET /tenants/:id/projects
  • POST /projects/:id/provision
  • POST /projects/:id/schema/sync
  • GET /projects/:id/metrics
  • GET /health