svc-scalar-sandbox¶
A. Identidad¶
- service_id:
svc-scalar-sandbox - nombre: Scalar Sandbox Developer Portal
- estado: activo desde
2026-06-02 - owner: Gabi
- criticidad: media
- fecha de alta:
2026-06-02 - ultima revision:
2026-06-03
B. Proposito¶
- resumen funcional: portal publico de documentacion
OpenAPIsanitizada del sandbox - rol dentro del VPS: experiencia de developer portal sin exponer
PostgREST - por que existe: publicar las APIs sandbox con buen UX sin abrir el backend real
C. Ubicacion¶
- path VPS:
/opt/openclawai/infra/api-docs/scalar-sandbox - path repo/docs:
docs/governance/services/svc-scalar-sandbox.md - compose file:
/opt/openclawai/infra/api-docs/scalar-sandbox/docker-compose.yml - archivos criticos:
infra/api-docs/scalar-sandbox/docker-compose.ymlinfra/api-docs/scalar-sandbox/scalar.config.jsoninfra/data-foundation/postgrest-sandbox/openapi/*.json
D. Docker¶
- stack:
scalar-sandbox - container names:
scalar-sandbox- image/tag:
scalarapi/api-reference:latest - restart policy:
unless-stopped - networks:
proxy-network- bind mounts:
- contratos
OpenAPIsanitizados montados readonly en/docs - published ports:
- ninguno
- internal ports:
8080/tcp
E. Red¶
- redes Docker:
proxy-network- red publica/proxy: si, solo via
NPM - quien puede hablar con quien:
- Internet llega a
NPM NPMllega ascalar-sandbox:8080scalar-sandboxno necesita reach aPostgREST- observaciones de red:
- el servicio no pertenece a
pg-sandbox-internal - mantiene desacoplado el portal del runtime real
F. NPM / Proxy / Dominio¶
- dominio:
developers.alpuntodeventa.com.ar - proxy host: si
- forward hostname:
scalar-sandbox - forward port:
8080 - SSL:
Let's Encrypt - Force SSL: activo
- HSTS: activo
G. Datos y persistencia¶
- datos criticos:
- contratos
OpenAPIsanitizados - configuracion
Scalar - que se puede regenerar:
- contenedor
- configuracion runtime
- que NO se puede perder:
- artefactos sanitizados versionados
- que NO hace a proposito:
- reach a
PostgREST - requests reales
- manejo de tokens o secretos
H. Backups¶
- ruta backup: queda cubierta por backup Git del repo y backup general del VPS
- restore probado: recreable desde Git +
docker compose up -d - RPO:
24 horaspor politica base del VPS - RTO:
10-20 minutosen mismo VPS
I. Usos registrados¶
- usage_id:
use-npm-scalar-sandbox-public - app/servicio consumidor:
svc-nginx-proxy-manager - proposito: publicacion HTTPS del developer portal sandbox
- red usada:
proxy-network - permisos: reach HTTP interno hacia
scalar-sandbox:8080 - criticidad: media
- impacto si falla: cae el portal documental sandbox, pero no el runtime interno
J. Dependencias¶
- depende de:
proxy-networksvc-nginx-proxy-manager- contratos sanitizados en Git
- servicios que dependen de este:
- portal
developers.alpuntodeventa.com.ar
K. Operacion¶
- como validar salud:
docker ps --filter name=scalar-sandboxdocker exec nginx-proxy-manager curl -I http://scalar-sandbox:8080/curl -I https://developers.alpuntodeventa.com.ar/curl -I https://developers.alpuntodeventa.com.ar/clientes- como reiniciar:
docker compose -f infra/api-docs/scalar-sandbox/docker-compose.yml up -d- como regenerar contenido:
cd /opt/openclawai/infra/data-foundation/postgrest-sandboxbash tools/export-sanitized-openapi.shcd /opt/openclawaidocker compose -f infra/api-docs/scalar-sandbox/docker-compose.yml up -d
L. Seguridad¶
- secretos: no usa secretos propios
- exposicion publica: solo via
NPM - hardening:
- sin reach a
PostgREST - sin puertos publicados al host
- boton de prueba real oculto
- contratos sin hosts internos Docker
/clientespublico debe seguir devolviendo404
M. Estado y decisiones¶
- decisiones tomadas:
- montar solo
OpenAPIsanitizado - no conectar
Scalardirecto al backend - dejar
PostgRESTsolo interno - riesgos aceptados:
- el portal es publico, pero describe solo contratos sandbox ficticios