Matriz de configuración y variables¶
Los nombres siguientes son los que reconoce el checkout actual. Los valores de
secreto son siempre referencias env:NOMBRE; la columna "secreto" indica que
el valor final no debe aparecer en .env.example, código, logs o tickets.
Aplicación, API y persistencia¶
| Variable | Uso | Default seguro | Secreto |
|---|---|---|---|
APP_ENV |
entorno mostrado por API | development |
no |
APP_NAME |
nombre del servicio | SchemaSafe NoSQL |
no |
CONNECTION_PROFILE |
fixture, local o secure |
fixture |
no |
BACKEND_HOST / BACKEND_PORT |
bind local de Uvicorn | 0.0.0.0 / 8000 |
no |
FRONTEND_PORT / FRONTEND_ORIGIN |
bind/origen del navegador | 5173 / http://localhost:5173 |
no |
VITE_API_BASE_URL |
URL de API compilada en frontend | http://localhost:8000 |
no |
DATABASE_PATH |
SQLite demo | data/schemasafe.db |
no |
DATABASE_URL_REF |
referencia de URL PostgreSQL | vacío (SQLite) | referencia |
SCHEMASAFE_DATABASE_URL_REF |
referencia documentada para scripts OPS-03 | env:SCHEMASAFE_DATABASE_URL |
referencia |
AUDIT_RETENTION_DAYS |
retención lógica de auditoría | 90 |
no |
REPORT_RETENTION_DAYS |
retención lógica de reportes | 90 |
no |
AUTH_SIGNING_KEY_REF |
referencia de firma HMAC | vacío en fixture | referencia |
SCHEMASAFE_AUTH_SIGNING_KEY |
valor resuelto de la firma | vacío en ejemplo | sí |
AUTH_ISSUER / AUTH_AUDIENCE |
claims obligatorios del token | schemasafe-local / schemasafe-api |
no |
VITE_AUTH_TOKEN |
token corto para demo del frontend | vacío | sí |
VITE_PROJECT_ID |
proyecto inicial de la UI | default |
no |
RATE_LIMIT_ENABLED |
activa límite por cliente para el API público | false |
no |
RATE_LIMIT_REQUESTS |
solicitudes por ventana y cliente | 120; 1–10000 |
no |
RATE_LIMIT_WINDOW_SECONDS |
duración de la ventana del límite | 60; 1–3600 |
no |
Puertos publicados por Docker¶
| Variable | Uso | Default |
|---|---|---|
SCHEMASAFE_BACKEND_PORT |
backend del perfil app |
8000 |
SCHEMASAFE_FRONTEND_PORT |
frontend del perfil app |
5173 |
SCHEMASAFE_MONGODB_PORT |
MongoDB del perfil de integración | 27017 |
SCHEMASAFE_POSTGRES_PORT |
PostgreSQL del perfil app/postgres |
5432 |
Los puertos publicados de CouchDB (5984) y Cassandra (9042) están fijados
por el perfil de integración actual y no tienen variables SCHEMASAFE_* de
override. Los defaults de usuario/base/contraseña de Compose son únicamente
para pruebas locales sintéticas; un entorno compartido debe sustituirlos por
referencias externas.
MongoDB¶
| Variable | Uso | Default/límite | Secreto |
|---|---|---|---|
MONGODB_URI_REF |
URI live | vacío | referencia |
MONGODB_DATABASE |
limitar base descubierta | vacío | no |
MONGODB_TLS_ENABLED / MONGODB_TLS_CA_FILE |
TLS y CA | false / vacío |
ruta opcional |
MONGODB_TIMEOUT_MS |
timeout de cliente | 1000 ms |
no |
MONGODB_MAX_DOCUMENTS |
máximo de muestra | 1000 |
no |
CouchDB¶
| Variable | Uso | Default/límite | Secreto |
|---|---|---|---|
COUCHDB_URL |
endpoint live | vacío; https:// en secure |
no |
COUCHDB_DATABASE |
limitar base | vacío | no |
COUCHDB_USERNAME_REF / COUCHDB_PASSWORD_REF |
credenciales separadas | vacío | referencias |
COUCHDB_TLS_VERIFY / COUCHDB_TLS_CA_FILE |
verificación y CA | true / vacío |
ruta opcional |
COUCHDB_TIMEOUT_MS |
timeout HTTP | 1000 ms; 100–60000 |
no |
COUCHDB_MAX_DOCUMENTS |
máximo de documentos | 1000 |
no |
COUCHDB_PAGE_SIZE |
tamaño de página Mango | 100 |
no |
Cassandra¶
| Variable | Uso | Default/límite | Secreto |
|---|---|---|---|
CASSANDRA_CONTACT_POINTS |
hosts live | vacío | no |
CASSANDRA_PORT |
puerto CQL | 9042 |
no |
CASSANDRA_KEYSPACE |
scope de discovery | vacío | no |
CASSANDRA_USERNAME_REF / CASSANDRA_PASSWORD_REF |
credenciales | vacío | referencias |
CASSANDRA_TLS_ENABLED / CASSANDRA_TLS_CA_FILE |
TLS y CA | false / vacío |
ruta opcional |
CASSANDRA_TIMEOUT_MS |
timeout del driver | 1000 ms |
no |
CASSANDRA_MAX_COLUMNS |
límite de metadata | 200; 1–10000 |
no |
OPS-03¶
| Variable | Uso | Regla |
|---|---|---|
SCHEMASAFE_BACKUP_PASSPHRASE_REF |
referencia documentada de passphrase | no contiene el valor |
SCHEMASAFE_BACKUP_PASSPHRASE |
passphrase efectiva del script | solo entorno/gestor; nunca CLI/log |
SCHEMASAFE_BACKUP_DIR |
destino sugerido | backups, fuera de Git/volúmenes |
El checker de documentación compara esta matriz con .env.example para que una
variable nueva no quede sin explicación. Las variables SCHEMASAFE_DOCKER_*,
SCHEMASAFE_POSTGRES_* y SCHEMASAFE_*_INTEGRATION_* usadas solo por Compose o
CI deben permanecer documentadas junto al workflow/runbook que las consume.