VIRIDIAN Digital Banking - Ansible 2.1.0
Changelog
- Banca Web: Por recomendaciones de seguridad cambiamos el cifrado de AES-CBC por AES-GCM
- Banca Web: Se corrige el error en el que se registraba la fecha de último ingreso desconfigurado.
- Beneficiarios: Corregimos el error 90103 que daba al agregar un beneficiario en la Banca Web.
- General: Ahora si una interfaz del Core Bancario devuelve un response nulo o vacío, respondemos con un código de error específico y no un genérico: 90135 "La información devuelta por el banco es inválida, por favor intenta más tarde, si el problema se repite comunícate con nosotros"
- General: Cuando en la base de datos obtenemos un time out ahora devolvemos un error específico 90150 "Estamos demorando más de lo normal en recuperar tus datos, por favor intenta más tarde, si el problema se repite comunícate con nosotros".
- General: En los endpoints que consume la entidad financiera, se agrega la propiedad "key", esto para facilitar las búsquedas en el ELK. La entidad puede mandar lo que vea por conveniente para buscar sus llamadas.
- General: Se adiciona a la tabla "Transaction" la nueva columna "trace_id" para poder enlazar datos del ELK con las transacciones en esta tabla.
- General: Se corrigen los casos del error 91150 "Login history not found" que posiblemente ha estado dando a los clientes.
- General: Se realiza una corrección en el balanceo de la carga entre los microservicios.
- General: Se realizó el ajuste para solucionar vulnerabilidades encontradas con la herramienta Docker Scout en los microservicios.
- Pago QR: Ahora se aceptan montos con 4 decimales al pagar un QR y se redondea el valor, si este es 0 entonces se retorna al usuario un nuevo error "No podemos pagar un QR con importe cero"
- Transacciones: Se agrega a la tabla "transaction" las columnas para poder almacenar la IP y la geolocalización cuando esta esté presente.
- Transacciones: Se realiza una mejora en el control de transacciones repetidas, ahora adicionamos la nota para ver si la transacción está repetida y si es diferente deja pasar la transacción.
Tareas previas
Estas tareas pueden hacerse en cualquier horario (recomendamos en la mañana o tarde) ya que no afectan al funcionamiento de la banca en producción, el objetivo es descargar las imágenes docker que se usaran en el release y asi agilizar su aplicación.
Selección de versión del release
-
En el servidor de administración, ejecutar los siguientes comandos:
git fetch --all --tags -fgit checkout 2.1.0-prod
Descarga de imágenes docker
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook release-warmup.yml -K
Instrucciones
Habilitar el modo mantenimiento
-
En el servidor de administración, ejecutar los siguientes comando ansible:
ansible-playbook admin.yml -K -t maintenance-enable
Cambios en los servidores
- Ninguno.
Cambios en base de datos
-
Ejecutar el siguiente script:
ALTER TABLE [firebase_topic] ADD [app_type] [varchar](40);
ALTER TABLE [notification] ADD [app_type] [varchar](40);
ALTER TABLE [device] ADD [verified] [smallint];
ALTER TABLE [transaction] ADD [order_number] [varchar](30);
ALTER TABLE [transaction] ADD [ip_address] [varchar](20);
ALTER TABLE [transaction] ADD [latitude] [decimal](15, 10);
ALTER TABLE [transaction] ADD [longitude] [decimal](15, 10);
ALTER TABLE [transaction] ADD [trace_id] [varchar](25);
ALTER TABLE [beneficiary] ALTER COLUMN [bank_name] [varchar](250);
ALTER TABLE [notification_image] ALTER COLUMN [image_base64] [varchar](MAX);
ALTER TABLE [qr_code] ALTER COLUMN [payer_note] VARCHAR(120);
Cambios en componentes
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook release-deploy.yml -K
Verificación de componentes
-
En los servidores de aplicaciones, ejecutar el siguiente comando:
docker ps -vs -
Revisar el output del comando y asegurarse de que todos los docker containers tengan un status UP y no haya ningún docker container detenido.
Deshabilitar el modo mantenimiento
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook admin.yml -K -t maintenance-disable
Resumen de versiones
| componente | release 2.0.2 | release 2.1.0 |
|---|---|---|
| viridian-config-properties | 8.1.0-promujer | 8.2.0-promujer |
| vdb-config-properties | 8.2.0-promujer | 8.3.0-promujer |
| server-config | 8.1.0-promujer | 8.2.0-promujer |
| server-eureka | 8.1.0-promujer | 8.2.0-promujer |
| vdb-routes-public | 8.1.0-promujer | 8.2.0-promujer |
| vdb-routes-internal | 8.1.0-promujer | 8.2.0-promujer |
| gateway-public | 8.4.0-promujer | 8.7.0-promujer |
| gateway-internal | 8.2.0-promujer | 8.5.0-promujer |
| bank-gateway | 8.2.0-promujer | 8.3.0-promujer |
| beneficiaries-api | 8.1.0-promujer | 8.2.0-promujer |
| digitalpay-qr | 8.1.0-promujer | 8.2.2-promujer |
| manager-api | 8.1.2-promujer | 8.2.0-promujer |
| manager-hosted | 8.1.0-promujer | 8.2.0-promujer |
| notifications-hosted | 8.1.0-promujer | 8.2.0-promujer |
| onboarding-api | 8.1.0-promujer | 8.2.0-promujer |
| servicepayments-api | 8.1.0-promujer | 8.2.0-promujer |
| statements-api | 8.1.0-promujer | 8.2.0-promujer |
| transactions-api | 8.1.0-promujer | 8.2.0-promujer |
| transactions-hosted | 8.1.0-promujer | 8.2.0-promujer |
| utilities-api | 8.1.0-promujer | 8.2.0-promujer |
| frontend-vdb | 5.1.3-promujer | 5.2.0-promujer |
| frontend-admin | 1.4.0-promujer | 1.5.3-promujer |