VIRIDIAN Digital Banking - Ansible 2.1.1
Changelog
- Administración de Límites - Banca Web: Se habilita el nuevo módulo de Administración de Límites en la Banca Web.
- Ayuda - Banca Web: Se corrige en la sección de preguntas frecuentes, en la pregunta de límite se cambia el límite a 69.600
- Banca web - Transacciones recientes: En el recibo de Pago QR, se añade el NIT. Esto para la consulta desde transacciones recientes y para el recibo al terminar la transacción.
- Banca Web - Beneficiarios: Se realiza la mejora para que en la Banca Web en el apartado de beneficiarios el campo número de celular sea solo numérico.
- Banca Web - Consolidado de Cuentas: Se implementaron mejoras internas para optimizar el tiempo de respuesta, reemplazando el uso de GetAccountAliasList por la interfaz GetAccountList y utilizando el nuevo campo accountAliasList para la Banca Web.
- General: Ahora, cuando se realiza un inicio de sesión por inactividad, este queda registrado en la tabla login_history, permitiendo diferenciar entre inicios de sesión normales e inicios de sesión por inactividad.
- General: Se corrigió el error 90103 en la interfaz AuthorizationLogin, el cual ocurría porque en la propiedad pass se estaba enviando un objeto JSON en lugar de un string.
- Pago QR: Mejora de rendimiento: Se realizan ajustes al código para mejorar el tiempo de respuesta en el Pago de un QR.
- Seguridad: Ahora, durante el inicio de sesión, cuando se detecta un dispositivo nuevo para un usuario, se valida que dicho dispositivo no esté asociado a más de 9 usuarios. Si se identifica que ha sido utilizado por más de 9 usuarios, se registra un mensaje en ELK.
- Seguridad: Ahora se encripta el dato clientDocId en el response del endpoint Login
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.1-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:
CREATE TABLE man_user_account_daily_limit (
id bigint NOT NULL IDENTITY PRIMARY KEY,
fk_user bigint NOT NULL,
fk_account bigint NOT NULL,
limit_date date NOT NULL,
daily_limit decimal(19,2) NOT NULL,
daily_limit_used decimal(19,2) NOT NULL,
user_create varchar(40),
date_create datetime,
user_update varchar(40),
date_update datetime,
admin_user_create varchar(40),
admin_user_update varchar(40),
admin_date_update datetime
);
exec sp_addextendedproperty @name=N'MS_Description', @value=N'ID único autoincremental, llave primaria de la tabla', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'id' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'ID del usuario', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'fk_user' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'ID de la cuenta', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'fk_account' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'Fecha del límite diario', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'limit_date' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'Monto del límite diario', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'daily_limit' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'Monto del límite diario usado', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'daily_limit_used' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'Usuario que creó el registro', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'user_create' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'Fecha de creación del registro', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'date_create' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'Usuario que actualizó el registro', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'user_update' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'Fecha de actualización del registro', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'date_update' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'Usuario Administrador que actualizó el registro', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'admin_user_create' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'Usuario Administrador que actualizó el registro', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'admin_user_update' ;
exec sp_addextendedproperty @name=N'MS_Description', @value=N'Fecha de actualización del registro por un usuario administrador', @level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'man_user_account_daily_limit', @level2type=N'COLUMN', @level2name=N'admin_date_update' ;
CREATE INDEX idx_man_user_account_daily_limit_find ON man_user_account_daily_limit (fk_user, fk_account);
INSERT INTO man_action (code, subtype_code, [order], status, user_create, date_create, user_update, date_update, admin_user_create, admin_user_update, admin_date_update)
VALUES(N'INCREASE_ACCOUNT_TRANSACTION_LIMIT', N'OPERATION', N'301', N'ACTIVE', null,GETDATE(), null, null, N'admin', null, null);
INSERT INTO man_action (code, subtype_code, [order], status, user_create, date_create, user_update, date_update, admin_user_create, admin_user_update, admin_date_update)
VALUES(N'DECREASE_ACCOUNT_TRANSACTION_LIMIT', N'OPERATION', N'301', N'ACTIVE', null,GETDATE(), null, null, N'admin', null, null);
ALTER TABLE device ADD totp_enabled SMALLINT;
ALTER TABLE device ADD totp_returned SMALLINT;
UPDATE device SET totp_enabled = 1, totp_returned = 1 WHERE totp_secret IS NOT NULL;
UPDATE device SET totp_enabled = 0, totp_returned = 0 WHERE totp_secret IS NULL;
ALTER TABLE additional_operation ADD card_due_date DATETIME;
ALTER TABLE additional_operation ADD limit_atm_external DECIMAL;
ALTER TABLE additional_operation ADD atm_due_date_external DATETIME;
ALTER TABLE additional_operation ADD limit_pos_external DECIMAL;
ALTER TABLE additional_operation ADD pos_due_date_external DATETIME;
ALTER TABLE additional_operation ADD user_code VARCHAR(40);
ALTER TABLE additional_operation ADD ownership_trn_id_trn VARCHAR(25);
exec sp_rename 'login_history.requester_channel', 'login_type', 'COLUMN';
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.1 |
|---|---|---|
| viridian-config-properties | 8.2.0-promujer | 8.3.0-promujer |
| vdb-config-properties | 8.3.0-promujer | 8.4.0-promujer |
| server-config | 8.2.0-promujer | |
| server-eureka | 8.2.0-promujer | |
| vdb-routes-public | 8.2.0-promujer | 8.3.0-promujer |
| vdb-routes-internal | 8.2.0-promujer | |
| gateway-public | 8.7.0-promujer | |
| gateway-internal | 8.5.0-promujer | |
| bank-gateway | 8.3.0-promujer | 8.4.2-promujer |
| beneficiaries-api | 8.2.0-promujer | |
| digitalpay-qr | 8.2.2-promujer | 8.3.1-promujer |
| manager-api | 8.2.0-promujer | 8.3.2-promujer |
| manager-hosted | 8.2.0-promujer | 8.3.0-promujer |
| notifications-hosted | 8.2.0-promujer | |
| onboarding-api | 8.2.0-promujer | |
| servicepayments-api | 8.2.0-promujer | |
| statements-api | 8.2.0-promujer | |
| transactions-api | 8.2.0-promujer | 8.3.0-promujer |
| transactions-hosted | 8.2.0-promujer | 8.3.0-promujer |
| utilities-api | 8.2.0-promujer | |
| frontend-vdb | 5.2.3-promujer | 5.3.1-promujer |
| frontend-admin | 1.5.3-promujer | 1.6.0-promujer |