Saltar al contenido principal
Matcher automatiza la conciliación financiera entre múltiples fuentes de datos, eliminando el trabajo de conciliación manual y proporcionando un registro de auditoría completo para cada transacción. Configurar Matcher significa establecer la base para la gestión de excepciones, los informes de cumplimiento y la visibilidad operacional. Esta guía te explica cómo desplegar Matcher en entornos de desarrollo y producción.
Matcher está disponible para clientes con licencia; su repositorio se mantiene internamente. Las instrucciones siguientes asumen que ya tienes acceso a los archivos del proyecto Matcher necesarios.

Docker Compose (desarrollo)


Docker Compose es el enfoque recomendado para desarrollo local y pruebas.

1. Acceder al proyecto Matcher

Desde el directorio del proyecto Matcher:

2. Configurar el entorno

El archivo docker-compose.yml incluye valores predeterminados adecuados para desarrollo local. Puedes sobrescribir cualquier valor definiendo variables de entorno en tu shell o creando un archivo .env en la raíz del proyecto. Consulta Variables de entorno para detalles sobre las configuraciones disponibles.

3. Iniciar servicios

Inicia los servicios de infraestructura requeridos:
Espera hasta que todos los servicios reporten un estado saludable:
Inicia la aplicación de Matcher:
Para iniciar todos los servicios a la vez:

4. Verificar la instalación

Confirma que Matcher está ejecutándose listando los contextos de configuración (la llamada retorna un array vacío en una instalación nueva):
Si la llamada es exitosa, la API de Matcher y sus dependencias (PostgreSQL, Redis, RabbitMQ, object storage) están accesibles.

Servicios de Docker Compose

El docker-compose.yml por defecto incluye:

Desarrollo con recarga en caliente

Para desarrollo activo, usa:
Esto inicia Matcher con recarga en vivo habilitada usando Air.

Kubernetes / Helm (producción)


Los despliegues de producción deben usar el chart oficial de Helm.

Prerrequisitos

  • Kubernetes 1.28+
  • Helm 3.12+
  • kubectl configurado para el clúster destino

1. Crear un namespace

2. Configurar valores

Crea un archivo values.yaml con tu configuración de despliegue:

3. Crear secrets

Crea Kubernetes secrets para credenciales sensibles:

4. Instalar el chart

5. Verificar el despliegue

Actualización

Para actualizar un despliegue existente:

Variables de entorno


Matcher se configura completamente a través de variables de entorno.

Aplicación

CORS

Base de datos (PostgreSQL)

Réplica de base de datos (PostgreSQL)

Caché (Redis)

Mensajería (RabbitMQ)

Autenticación

Almacenamiento de objetos (compatible con S3)

Observabilidad

TLS

Limitación de tasa

Swagger

Idempotencia

Deduplicación

Outbox

Workers

Programador

Archivado

Fetcher / Discovery

Estas configuraciones controlan Discovery, que lee bases de datos externas a través de un motor de extracción en proceso integrado en Matcher, no un servicio en red aparte. Consulta Discovery para saber cómo funciona.

Infraestructura

Para configuraciones de despliegue multi-tenant, ver Modo Multi-Tenant. Para gestión de configuración en runtime, ver Configuración en Runtime (Systemplane).

Verificar la instalación


Valida que Matcher esté operando correctamente ejercitando la API:
Una respuesta exitosa confirma que la API y sus dependencias (base de datos, caché, message broker, object storage) están accesibles. Las sondas de liveness y readiness de Kubernetes se configuran a nivel de cluster por la orquestación; no necesitas llamarlas directamente.

Solución de problemas


Problemas comunes

  • Causa: PostgreSQL no está ejecutándose o no es accesible.
  • Resolución:
  1. Verifica que PostgreSQL esté ejecutándose: docker-compose ps postgres
  2. Revisa los valores de conexión en .env
  3. Prueba la conectividad: nc -zv localhost 5432
  4. Revisa los logs: docker-compose logs postgres
  • Causa: Redis no está ejecutándose o las credenciales son incorrectas.
  • Resolución:
  1. Verifica que Redis esté ejecutándose: docker-compose ps redis
  2. Confirma REDIS_PASSWORD
  3. Prueba la conectividad: redis-cli -h localhost ping
  • Causa: RabbitMQ todavía está inicializando o falta el host virtual.
  • Resolución:
  1. Espera hasta que RabbitMQ esté saludable
  2. Accede a la interfaz de gestión en http://localhost:15672
  3. Verifica RABBITMQ_VHOST
  • Causa: El servicio de autenticación no es accesible o el token es inválido.
  • Resolución:
  1. Verifica PLUGIN_AUTH_ADDRESS
  2. Deshabilita la autenticación para desarrollo: PLUGIN_AUTH_ENABLED=false
  3. Revisa los logs del servicio de autenticación
  • Causa: Las migraciones de base de datos no pudieron aplicarse.
  • Resolución:
  1. Verifica el estado de migración: make migrate-status
  2. Revisa los logs de migración
  3. Aplica las migraciones manualmente: make migrate-up
  4. Inspecciona la tabla schema_migrations si es necesario
Al actualizar desde la rama main, las migraciones 000020 y 000021 se ejecutan automáticamente. La migración 000020 renombra las claves de configuración del systemplane para estandarización entre productos. La migración 000021 convierte la columna external_system de un tipo enum a VARCHAR(255), permitiendo identificadores arbitrarios de sistema externo. Si las migraciones fallan, verifica la tabla schema_migrations y asegúrate de que no existan cambios manuales en conflicto.

Ver logs

Modo de depuración

Habilita el logging de depuración para mayor visibilidad:

Próximos pasos


Inicio rápido

Ejecuta tu primera conciliación.

Configuración

Configura contextos, fuentes y reglas de conciliación.