Saltar a contenido

Configuración

BeneficiosCenter no arranca sin su configuración externa (INV-O04): falla rápido con un mensaje que indica qué falta. Vive en backend/config/application.yml, resuelto contra el directorio de trabajo del proceso (no la ubicación del jar) — el jar y config/ deben quedar en la misma carpeta. La plantilla versionada es backend/config/application.yml.example.

spring.datasource y Flyway

Clave Significado
spring.datasource.url Cadena de conexión SQL Server (jdbc:sqlserver://host:1433;databaseName=beneficioscenter;...).
spring.datasource.username / .password Credenciales del login dedicado a la aplicación (no sa en producción).
spring.flyway.enabled Debe quedar en true: Flyway aplica las migraciones al arrancar.

bc.gateway

Clave Significado
bc.gateway.api-key X-Api-Key que acepta POST /api/v1/beneficios/resolver (INV-S01). Generarla con openssl rand -hex 24. Se lee una sola vez al arrancar — rotarla implica reiniciar el servicio.

bc.admin

Clave Significado
bc.admin.usuario Usuario ADMIN que se siembra en el primer arranque, si la tabla usuario está vacía (AC-23).
bc.admin.password Contraseña de ese primer admin. Cambiarla desde la consola después del primer login.

bc.resolver

Clave Significado
bc.resolver.refresh-seconds Cada cuántos segundos se reconstruye el snapshot en memoria como red de seguridad (por defecto 60). Un guardado desde la consola ya refresca al instante, sin esperar este valor.

bc.auditoria

Clave Significado
bc.auditoria.queue-size Capacidad de la cola de auditoría (por defecto 10 000). Si se llena, el excedente se cuenta en auditoria.perdidas en vez de frenar la respuesta al gateway.
bc.auditoria.retencion-dias Días de consulta (con consulta_beneficio por cascada) y de resultado_pago en línea antes de que PurgaAuditoriaJob los borre en lotes (AC-67, por defecto 365, mínimo 1). Exportar antes de bajarlo — ver Despliegue.
bc.auditoria.purga-cron Cron (formato @Scheduled: seg min hora día mes día-semana) del job de purga; opcional, por defecto 0 30 3 * * SUN (domingos 03:30, AC-67 — antes corría todas las noches).
bc.auditoria.purga-lote Filas eliminadas por pasada durante la purga, por tabla; opcional, por defecto 5 000.

bc.resultado

Clave Significado
bc.resultado.queue-size Capacidad de la cola de resultados de pago (por defecto 10 000, mismo mecanismo que bc.auditoria.queue-size). Si se llena, el excedente se cuenta en resultados.perdidos en vez de frenar la respuesta al gateway (entrega 3, ver Pipeline de resultado de pago).

bc.branding

Clave Significado
bc.branding.logo-url URL que la consola pone en el <img src> del logo del sidebar. Para usar el logo propio servido por assets-dir, apuntarla a /branding/logo.png.
bc.branding.color-primario Hex #RRGGBB; se aplica como color primario de la consola, como theme_color/background_color del manifest PWA y como <meta name="theme-color"> del navegador.
bc.branding.cliente-nombre Nombre mostrado en el sidebar y usado como name/short_name (truncado a 12 caracteres) del manifest PWA.
bc.branding.assets-dir Directorio absoluto con logo.png, icon-192.png e icon-512.png propios del cliente, servidos en GET /branding/** (AC-44). Opcional — ver Marca blanca.

Si esta sección completa se omite, se usan los valores DINI de la entrega 1 (lima #E0F848).

bootui.enabled

Clave Significado
bootui.enabled Prende la consola de desarrollo embebida BootUI en /bootui (sin login). Opcional — omitida o en OFF, queda dormida en producción. No activar en un servidor productivo: expone internals de la aplicación. Ver Despliegue.

Nota sobre el simulador del gateway

El simulador (tools/gateway-sim/gateway_sim.py) no lee application.yml: recibe la URL base y la API key del gateway por línea de comandos o variable de entorno BC_API_KEY, para probar el contrato de resolución sin depender de un GatewayQR real. Ver Simulador del gateway.

Dónde sigue