odoo-forge · visión objetivo e historial de plataforma
Esta página conserva la visión de plataforma y su contexto histórico; no describe componentes desplegados hoy.
Hoy existen la CLI forge, el núcleo puro, puertos de código, workspace, backend, imágenes y base de datos; adaptadores para Git, workspace, Docker local, GHCR y PostgreSQL Docker aislado. La fuente actual es la guía de implementación actual.
SourceProviderCódigo de módulos/Odoo.
GitHub · GitLab · repos externos
ImageRegistryProviderImágenes Docker por digest.
GHCR · GitLab · ECR · DockerHub
DatabaseProviderEl adaptador PostgreSQL Docker aislado ya existe; RDS y VPS PG siguen como objetivo.
PostgreSQL Docker · RDS · VPS PG
BackendProviderPuerto existe (docker local, 4b); adaptadores remotos = SP-3.
Docker local · EC2/VPS · Fargate · K8s
IdentityProviderAuth/RBAC (reusado, no se construye).
GitHub · GitLab · Google (OIDC)
PipelineProviderCI/CD (reusado, no se construye).
GitHub Actions · GitLab CI
forge serverAPI + RBAC · recibe peticiones
La autoridad central. Toma código de repos, fabrica, decide y entrega. Mantiene el registro canónico de instancias (estado) y reconcilia contra el backend (línea 227: preguntarle al backend, nunca un registro que derive).
Estado: qué corre, dónde, qué versión — reconciliado contra el backend.
Vía IdentityProvider (OIDC/SSO). Quién puede pedir qué.
Dispara/lee PipelineProvider; push→CI→build→CD.
Build por capa, pinneado por digest. Supersede el PublishedLayer deprecado (§8).
Sobre BackendProvider; Docker local existe y los destinos remotos siguen como objetivo.
Provisión, clonado, randomización, copias pre-prod.
Servida a devs. Base: SourceProvider+git (2b) + workspace projection (3).
Audit trail append-only · guardrails PROD · GC/retención · orquestación de backups.
Hecho (Slice 4b).
VM directa.
Contenedor gestionado.
Orquestado.
QA desde una prod puntual — anonimizada salvo autorización auditada.
Datos anonimizados para devs / testing.
El CI/CD de DevOps corre contra esta (anonimizada) antes de desplegar.
El server central con estado NO contradice el diseño fundacional. Lo anticipan la línea 187 ("canonical-ID instance registry — principle from day 1") y la 228 ("Control plane (Phase 4): PostgreSQL — real server-side state"). El "no database" de la línea 227 era solo para el CLI core. La línea 195 ("web SQLModel schema") es el patrón dual-DDL abandonado ("Consciously left behind") — el drift a NO repetir (cicatriz del mer-fk-refactor).
Multi-fase. Descomposición completa (SP-1..SP-10) en el roadmap maestro: docs/specs/2026-07-08-platform-roadmap.md.