chore: rename cameleer3 to cameleer
Rename Java packages from com.cameleer3 to com.cameleer, module directories from cameleer3-* to cameleer-*, and all references throughout workflows, Dockerfiles, docs, migrations, and pom.xml. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
|
||||
## Context
|
||||
|
||||
Cameleer3 Server is being integrated into a SaaS platform (cameleer-saas). The server must support multiple tenants sharing PostgreSQL and ClickHouse while guaranteeing strict data isolation. Each tenant gets their own cameleer3-server instance. Environments (dev/staging/prod) are a first-class concept within each tenant.
|
||||
Cameleer Server is being integrated into a SaaS platform (cameleer-saas). The server must support multiple tenants sharing PostgreSQL and ClickHouse while guaranteeing strict data isolation. Each tenant gets their own cameleer-server instance. Environments (dev/staging/prod) are a first-class concept within each tenant.
|
||||
|
||||
## Decisions
|
||||
|
||||
@@ -32,13 +32,13 @@ Tenant (customer org)
|
||||
## Architecture
|
||||
|
||||
```
|
||||
Tenant "Acme" ──► cameleer3-server (TENANT_ID=acme)
|
||||
Tenant "Acme" ──► cameleer-server (TENANT_ID=acme)
|
||||
├─ PG schema: tenant_acme
|
||||
├─ CH writes: tenant_id='acme'
|
||||
├─ Agents: env=dev, env=prod
|
||||
└─ In-memory: registry, catalog, SSE
|
||||
|
||||
Tenant "Beta" ──► cameleer3-server (TENANT_ID=beta)
|
||||
Tenant "Beta" ──► cameleer-server (TENANT_ID=beta)
|
||||
├─ PG schema: tenant_beta
|
||||
├─ CH writes: tenant_id='beta'
|
||||
└─ ...
|
||||
@@ -335,9 +335,9 @@ prod
|
||||
|
||||
## 7. What the SaaS Shell Must Do
|
||||
|
||||
The cameleer3-server does NOT manage tenants. The SaaS shell (cameleer-saas) is responsible for:
|
||||
The cameleer-server does NOT manage tenants. The SaaS shell (cameleer-saas) is responsible for:
|
||||
|
||||
1. **Provisioning**: Create PG schema `tenant_{id}`, generate per-tenant bootstrap token, start cameleer3-server container with `CAMELEER_TENANT_ID={id}` and PG URL pointing to the schema
|
||||
1. **Provisioning**: Create PG schema `tenant_{id}`, generate per-tenant bootstrap token, start cameleer-server container with `CAMELEER_TENANT_ID={id}` and PG URL pointing to the schema
|
||||
2. **Routing**: Route agent and UI traffic to the correct server instance (by tenant)
|
||||
3. **Lifecycle**: Start/stop/upgrade tenant server instances
|
||||
4. **Auth**: Issue JWTs with tenant claims (via Logto), configure ForwardAuth
|
||||
@@ -346,7 +346,7 @@ The cameleer3-server does NOT manage tenants. The SaaS shell (cameleer-saas) is
|
||||
|
||||
| Area | Change | Complexity |
|
||||
|------|--------|------------|
|
||||
| Agent protocol (cameleer3-common) | Add `environmentId` to registration + heartbeat | Low |
|
||||
| Agent protocol (cameleer-common) | Add `environmentId` to registration + heartbeat | Low |
|
||||
| Server config | `TenantProperties` bean, PG schema URL | Low |
|
||||
| ClickHouse schema | Add `environment` column, update ORDER BY/PARTITION BY | Medium |
|
||||
| ClickHouse stores (8 files) | Replace hardcoded `"default"` with injected tenant ID, add environment | Medium |
|
||||
|
||||
Reference in New Issue
Block a user