Skip to main content

VIRIDIAN Digital Banking - Ansible 4.1.14

Changelog

  • Mensajes & Anuncios: Se habilita links internos con las acciones de "Mis Finanzas" y "Habilitar Za$" para el envío de Difusiones, Anuncios y Carrusel.

  • Mensajes & Anuncios: Se habilita la posibilidad de diferenciar difusiones y anuncios entre Banca Móvil y Za$

  • Za$: Se habilita el módulo de Za$ para realizar el Ethical Hacking. Esta pendiente la habilitación de Onboarding porque estamos esperando a Facephi.

  • General: Se habilita la posibilidad para que se pueda cambiar el usuario de base de datos usado para Banca Digital del usuario que se usará para el proyecto Za$.

  • General: Corregimos el error por el cual no estamos solicitando a los clientes la calificación de la Banca Móvil.

Tareas previas

Estas tareas pueden hacerse en cualquier horario.

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 4.1.14-prod

    Para el entorno de preproducción usar el tag 4.1.14-preprod

Descarga de imágenes docker

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

    ansible-playbook admin.yml -K -t release-warmup

Instrucciones

Habilitar el modo mantenimiento

  1. En el servidor de administración, ejecutar el siguiente 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:

    -- direct_device
    create table direct_device(
    id bigserial not null,
    access_code varchar(20),
    access_code_due_date datetime year to second,
    status varchar(50),
    device_type varchar(50),
    vfk_operation char(25),
    vfk_user bigint,
    vfk_customer bigint,
    user_code varchar(40),
    customer_code varchar(40),
    login_id varchar(40),
    fullname varchar(80),
    device_id varchar(100),
    vfk_device bigint,
    access_pin varchar(100),
    activation_date datetime year to second,
    main_account_code varchar(40),
    main_account_code_display varchar(40),
    main_account_type_code varchar(3),
    main_account_branch_code varchar(5),
    onboarding_direct_trn_id_trn varchar(25),
    first_device smallint,
    login_fail_count integer,
    user_create varchar(40),
    date_create datetime year to second,
    user_update varchar(40),
    date_update datetime year to second,
    admin_user_create varchar(40),
    admin_user_update varchar(40),
    admin_date_update datetime year to second,
    PRIMARY KEY (id)
    );
    create index idx_direct_device_access_code_status on direct_device(access_code, status);
    create index idx_direct_device_device_user on direct_device(device_id, user_code, login_id);
    create index idx_direct_device_user_code_status on direct_device(user_code, status);
    create index idx_direct_device_user_id_status on direct_device(vfk_user, vfk_customer, status);

    -- onboarding_direct
    create table onboarding_direct(
    id bigserial not null,
    type varchar(50),
    subtype varchar(50),
    step varchar(50),
    vfk_operation varchar(25),
    doc_id_number varchar(40),
    doc_id_complement varchar(10),
    doc_id_extension varchar(10),
    fullname varchar(100),
    name varchar(30),
    last_name_1 varchar(30),
    last_name_2 varchar(30),
    phone_number varchar(40),
    email varchar(100),
    device_id varchar(100),
    firebase_id varchar(200),
    push_engine varchar(40),
    application_version varchar(50),
    operative_system varchar(50),
    device_manufacturer varchar(50),
    device_name varchar,
    customer_code varchar(40),
    user_code varchar(40),
    account_code varchar(40),
    has_account smallint,
    vfk_onboarding_product bigint,
    complete_date datetime year to second,
    last_error_code varchar(10),
    last_error_desc varchar(255),
    failed_biometric_count int,
    failed_error_count int,
    last_failed_biometric_attempt_date datetime year to second,
    access_code varchar(20),
    customer_data lvarchar(8192),
    trace_id varchar(25),
    user_create varchar(40),
    date_create datetime year to second,
    user_update varchar(40),
    date_update datetime year to second,
    admin_user_create varchar(4),
    admin_user_update varchar(40),
    admin_date_update datetime year to second,
    PRIMARY KEY (id)
    );
    create index idx_onboarding_direct_trn on onboarding_direct (vfk_operation);
    create index idx_onboarding_direct_step on onboarding_direct (step);

    -- direct_seller
    create table direct_seller(
    id bigserial not null,
    name varchar(100),
    status varchar(50),
    activation_date datetime year to second,
    store_name varchar(100),
    default_note varchar(100),
    unique_payment smallint,
    qr_life varchar(50),
    main_vfk_user bigint,
    main_account_code varchar(40),
    main_account_code_display varchar(40),
    main_account_type_code varchar(3),
    main_account_branch_code varchar(5),
    vfk_direct_device bigint,
    vfk_user bigint,
    user_create varchar(40),
    date_create datetime year to second,
    user_update varchar(40),
    date_update datetime year to second,
    admin_user_create varchar(40),
    admin_user_update varchar(40),
    admin_date_update datetime year to second,
    PRIMARY KEY (id)
    );
    create index idx_direct_seller_main_user on direct_seller(main_vfk_user);
    create index idx_direct_seller_direct_device on direct_seller(vfk_direct_device);

    --

    INSERT INTO onboarding_codes (asoban_code, param_type, param_code, param_value, parent_type, parent_code, order, display, user_create, date_create, user_update, date_update, admin_user_create, admin_user_update, admin_date_update)
    VALUES('1016', 'DIRECT_DOCUMENT_TYPE', '1', 'Contrato caja de ahorro', NULL, NULL, 1, NULL, 'no-user', current, NULL, NULL, NULL, NULL, NULL);
    INSERT INTO onboarding_codes (asoban_code, param_type, param_code, param_value, parent_type, parent_code, order, display, user_create, date_create, user_update, date_update, admin_user_create, admin_user_update, admin_date_update)
    VALUES('1016', 'DIRECT_DOCUMENT_TYPE', '2', 'Términos y Condiciones', NULL, NULL, 3, NULL, 'no-user', current, NULL, NULL, NULL, NULL, NULL);
    INSERT INTO onboarding_codes (asoban_code, param_type, param_code, param_value, parent_type, parent_code, order, display, user_create, date_create, user_update, date_update, admin_user_create, admin_user_update, admin_date_update)
    VALUES('1016', 'DIRECT_DOCUMENT_TYPE', '3', 'Reglamento caja de ahorro', NULL, NULL, 2, NULL, 'no-user', current, NULL, NULL, NULL, NULL, NULL);

Cambios en kafka

  1. Ninguno.

Cambios en vault

  1. En el path secrets/viridian/application, agregar las siguientes variables:

        "database.directPassword": "changeme",
    "database.directUser": "changeme",
    "facePhi.directApiKey": "2h4R5yTjTP7h49bBG61R8iQY3OFSET9HLsVncrP7",
    info
    • Los valores de las variables database.directUser y database.directPassword deben ser los mismos que de las variables ya existentes: database.user y database.user. Luego se coordinará la creación de un usuario exclusivo para ZA$ y la actualización de las variables en vault.
  2. En el path secrets/viridian/vdb-notifications-hosted, agregar la siguiente variable:

        "firebase.direct.config": "{\n  \"type\": \"service_account\",\n  \"project_id\": \"bec-vdb-direct\",\n  \"private_key_id\": \"0a59bb275da282d25ff60f59c2a7cf75f5ee1dfd\",\n  \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCtA7md4GzEpljj\\nAGGfJEGQtqzvD+7egMT1nyw3HqX8cteipR6qZcDJgJpwFUZJKvBq2IYylkTJeoIp\\ns7WdA/MEyoYaqKeoaBy/GmLEddEA/Jyt2l/Vzu0MlKMcJtKlKozKJf/Ng/toskYt\\nEZ5PBGnL5ezB05CMNmPzJeDjzP8aQd94SkWVfGYbQLWp9TG76Btc/tzJ9/ocTnMU\\n/GES87nlafMs3C4toH+rgeyXt3AHcW32vqqcGZlo1G3Y2bPry2XrEV7Z4RtYka8N\\nqH/v2qAMmk9a3HdtKgYYn5XA1JcNRg+5YL6md3rlJeK+n78+ON23ArOjqs20nYV4\\n0E5XLq5jAgMBAAECggEABQcGHcyvHYBqejTWh8NHtewalqwt4skZUjPXtLSXuBmp\\niZFVnSbT+4kc+AGLDc7nC+EbB5TRH8B2FIuJvAm51yyADdMgMBHPv3+WjO+jF6Dh\\nqy1Ydip6LPtglh67WNfpyGlRqYwe5EKjPf9J1Nvn3vlHuLTwrMYW5kwHPr7Q6N/e\\nbLO6Jay9eRtJqyb2XpcLWtX075bLbz/5dTo20Y2f9y3BEMc5ziwER/FhoOsNHM7i\\ngabke6MsMeCS0SqIQlc4+hjjGiYPVEN50NcB6xuInMPCiPq0Z+/olPvVH6Fz3N7F\\nnN67rpSBtmk5Lx/Msf1IQa9ktFHEsMeZqTL/5pYZfQKBgQDhDAffqpD/SpBkqQmm\\nJ0V65ipVgIGcF+B5sdVXKtIk9Rfex4ysLssM0HcZDpLzepBceQaZJI/d8B1/ZiLb\\nFNvLOYyvm3Jof2Klp55AkAoJ+WYZdmwFzXYvrBGBYGjV2w/ip/yWmHlBJHoqWve0\\nuKDH8xuomPi5IaC63R1r4YGPRQKBgQDEz531lJrnfN6G8I00jvJ1H3EIgZ9K+xXs\\nP70t9KwEgSRBlyzvZcxQWnnc9GaZOGRABCEOY5X/K/OYVAkgf24qbzyaubHH9+QQ\\nh7YJ39rXJI/z/rgRqeBxU4uD+YPc6qWBzRh/eKnC1LIaDcAOZ2CxzfgLkZ2YwVEp\\ncVLMz0kthwKBgQCE8lKEc4MNDcOXc7Tbjz+ghvBjanMm/4QA4GmkAQv8AT6EwWX9\\nIfeaLlztVIrDg5hcyLJ5Lfw/pGYIqRHWUtA1kl3mL/K6gOaJ7iezBGSp18fVKvxN\\nwT8cko4U3BuSmsMbpxm07YZUUXRKKUtEW/2/oYKpaxUkaRVGzvFele2v8QKBgQCx\\nIo/v3U1CNd/uoYjlmhbclWzdlBSznqMPnBp/xywfbcAdDJxT51Jpq9TsqkfBdcC8\\n4TqDQdxZ6sv2+QOx7R9RMAbi12kMKq9otUyBPKoxYuXxW/t9YmDwfpoeMS+eYM6P\\nsfFvoUFhap/V1TRbgm3D+jZa6zdlqfCLlURJs/MP9wKBgQCtLf6y/PdsCafaXoe6\\n3i396kUWUHheQJ/TWk8xD1onoribvjeA6n4masNsa6tsCxii6nP/GG8CTDMB5ySp\\nxpfUgo3Wft2Xs9489hQC2Y3qU0ZAxy5UgYZXEgRZrTzIlCXwyICr++aeWB5pFn8O\\nuKh5ID+WuEiLMw5z2J/pK36hzQ==\\n-----END PRIVATE KEY-----\\n\",\n  \"client_email\": \"firebase-adminsdk-q0fb3@bec-vdb-direct.iam.gserviceaccount.com\",\n  \"client_id\": \"105903319704893474162\",\n  \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n  \"token_uri\": \"https://oauth2.googleapis.com/token\",\n  \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n  \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-q0fb3%40bec-vdb-direct.iam.gserviceaccount.com\",\n  \"universe_domain\": \"googleapis.com\"\n}\n",
    info

    Se debe copiar el valor de arriba (una sola linea) y agregarla usando el editor en modo json

Cambios en configuración

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

    ansible-playbook config.yml -K -t viridian-deploy,vdb-deploy

Cambios en rutas

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

    ansible-playbook routes.yml -K -t vdb-public-deploy

Cambios en spring

  1. Ninguno.

Cambios en backend

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

    ansible-playbook vdb.yml -K -t backend-deploy

Cambios en frontend

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

    ansible-playbook vdb.yml -K -t frontend-deploy

Cambios en gateways

  1. Ninguno.

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.

Limpieza de archivos generados por el release

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

    ansible-playbook admin.yml -K -t cleanup

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 4.1.13release 4.1.14
viridian-config-properties8.9.0-bec8.10.0-bec
vdb-config-properties8.21.0-bec8.22.1-bec
cobalt-config-properties8.1.0-bec
server-config8.1.0-bec
server-eureka8.1.0-bec
vdb-routes-public8.7.0-bec8.8.3-bec
vdb-routes-internal8.1.0-bec
vdb-routes-bank8.2.0-bec
cobalt-routes-public8.1.0-bec
cobalt-routes-internal8.1.0-bec
jade-routes-public8.1.0-bec
gateway-public8.5.0-bec
gateway-internal8.3.0-bec
bank-gateway8.5.0-bec
bank-service8.1.0-bec
batchpayments-api8.3.0-bec
batchpayments-hosted8.2.0-bec
beneficiaries-api8.2.1-bec8.3.0-bec
digitalcredit-api8.4.0-bec
digitalpay-qr8.11.0-bec8.12.0-bec
guaranteebond-api8.2.0-bec
manager-api8.18.0-bec8.19.0-bec
manager-hosted8.10.0-bec
myfinances-api8.8.0-bec8.9.0-bec
notifications-hosted8.8.0-bec8.9.0-bec
onboarding-api8.10.0-bec8.11.0-bec
servicepayments-api8.1.0-bec8.3.0-bec
statements-api8.2.0-bec
trade-api8.1.0-bec
transactions-api8.8.0-bec
transactions-hosted8.2.0-bec
utilities-api8.5.0-bec
wiretransfer-api8.1.0-bec
insurance-agents8.1.0-bec
insurance-sales8.1.0-bec
assistant-requests8.1.0-bec
frontend-vdb5.12.0-bec
frontend-vdb-25.1.5-bec
frontend-admin1.20.0-bec1.21.0-bec
frontend-kiosk2.2.0-bec