Skip to main content

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

  1. En el servidor de administración, ejecutar los siguientes comandos:

    git fetch --all --tags -f
    git checkout 2.1.1-prod

Descarga de imágenes docker

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook release-warmup.yml -K

Instrucciones

Habilitar el modo mantenimiento

  1. En el servidor de administración, ejecutar los siguientes comando ansible:

    ansible-playbook admin.yml -K -t maintenance-enable

Cambios en los servidores

  1. Ninguno.

Cambios en base de datos

  1. 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

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook release-deploy.yml -K

Verificación de componentes

  1. En los servidores de aplicaciones, ejecutar el siguiente comando:

    docker ps -vs
  2. 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

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook admin.yml -K -t maintenance-disable

Resumen de versiones

componenterelease 2.0.2release 2.1.1
viridian-config-properties8.2.0-promujer8.3.0-promujer
vdb-config-properties8.3.0-promujer8.4.0-promujer
server-config8.2.0-promujer
server-eureka8.2.0-promujer
vdb-routes-public8.2.0-promujer8.3.0-promujer
vdb-routes-internal8.2.0-promujer
gateway-public8.7.0-promujer
gateway-internal8.5.0-promujer
bank-gateway8.3.0-promujer8.4.2-promujer
beneficiaries-api8.2.0-promujer
digitalpay-qr8.2.2-promujer8.3.1-promujer
manager-api8.2.0-promujer8.3.2-promujer
manager-hosted8.2.0-promujer8.3.0-promujer
notifications-hosted8.2.0-promujer
onboarding-api8.2.0-promujer
servicepayments-api8.2.0-promujer
statements-api8.2.0-promujer
transactions-api8.2.0-promujer8.3.0-promujer
transactions-hosted8.2.0-promujer8.3.0-promujer
utilities-api8.2.0-promujer
frontend-vdb5.2.3-promujer5.3.1-promujer
frontend-admin1.5.3-promujer1.6.0-promujer