Skip to main content

VIRIDIAN Digital Banking - Ansible 3.0.0

Changelog

  • General: Se implementa la versión 9 de Viridian Digital Banking que tiene los siguientes cambios:
    1. Se ha implementado el componente Redis en la versión: 8.0.3
    2. Se ha actualizado los componentes netcore: de 8 a 9
    3. Se ha actualizado los componentes spring boot a la versión: 3.5.3
    4. Se ha actualizado los componentes Angular a la versión: 20.2.4
    5. Se ha actualizado el ELK a la versión: 9.1.2
    6. Se ha actualizado Kafka a la versión: 8.0.0 y se ha implementado SASL_SSL
    7. Se ha actualizado Vault a la versión: 1.20.1.
  • General: Se implementa un nuevo código de error para los casos en los que se tiene un lock en la base de datos del Banco: '90151': 'Tenemos un problema temporal, por favor espera unos minutos y vuelve a intentar, si el problema se repite comunícate con nosotros'. Esto con el fin de poder hacer seguimiento de estos

Tareas previas

Selección de versión del release

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

    ansible-playbook admin.yml -t select-release -e="version=3.0.0"
    info

    Este comando selecciona la versión del release.

Descarga de componentes

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

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

    Este comando descarga las nuevas versiones de todos los componentes que serán actualizados.

Instrucciones

Habilitar el mantenimiento

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

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

    Este comando habilita el modo mantenimiento.

Cambios en base de datos

  1. Ejecutar el siguiente script:

    ALTER TABLE onboarding_request ADD work_address VARCHAR(200);
    ALTER TABLE onboarding_request ADD home_phone VARCHAR(20);
    ALTER TABLE activation_request ADD charge_request SMALLINT;
    ALTER TABLE activation_request ADD charge_account_code VARCHAR(40);
    ALTER TABLE activation_request ADD charge_account_type_code VARCHAR(10);
    ALTER TABLE activation_request ADD charge_amount decimal(19,2);
    ALTER TABLE activation_request ADD charge_currency varchar(10);

Cambios en los servidores

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

    ansible-playbook admin.yml -K -t stop-netcore
  2. En el servidor de administración, ejecutar los siguientes comandos:

    docker rm -f kafka-ui kafka-broker kafka-controller
    sudo rm -rf /opt/viridian/kafka-ui /opt/viridian/kafka-broker /opt/viridian/kafka-controller /opt/viridian/config/vdb
  3. En TODOS los servidores de aplicaciones, ejecutar los siguientes comandos:

    sudo rm -rf /opt/viridian/config/vdb 
    docker rm -f kafka-broker kafka-controller
    sudo rm -rf /opt/viridian/kafka-broker /opt/viridian/kafka-controller

Cambios en local_vars.yml

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

    cp defaults/local_vars.yml defaults/local_vars.yml.bck
  2. En el servidor de administración, editar el archivo defaults/local_vars.yml:

    El contenido del archivo es amplio pero se hará ediciones en esta sección:

    kafka:
    clusterId: 111111
    username: kafka
    password: 222222
    ui: 'true'
    elastic:
    token: 333333
    username: elastic
    password: 444444
    componentUsername: component
    componentPassword: 555555
    apm:
    token: 666666

    Donde: los números representan valores aleatorios ya existentes en el archivo

    Se debe agregar las variables ansible, redis y ajustar las variables de kafka y elastic:

    ansible:        
    ui: false
    username: admin
    password: changeme
    ldap:
    bindDn: changeme
    bindPassword: changeme
    server: changeme
    searchDn: changeme
    searchFilter: changeme
    redis:
    password: changeme
    clusterPassword: changeme
    adminPassword: changeme
    componentPassword: changeme
    insightPassword: changeme
    kafka:
    clusterId: 111111
    uiPassword: 222222
    componentPassword: changeme
    adminPassword: changeme
    clusterPassword: changeme
    elastic:
    token: 333333
    adminPassword: 444444
    componentPassword: 555555
    apmToken: 666666

Cambios en certificados SSL

  1. En el servidor de administración, asegurarse de que el archivo cert.pem dentro del directorio viridian-ansible-promujer/tls, contiene el fullchain:

    -----BEGIN CERTIFICATE-----
    Certificado del servidor
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    Certificado intermedio 1
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    Certificado intermedio 2 (si fuera necesario)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    Certificado CA
    -----END CERTIFICATE-----
  2. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook tls.yml -K -t deploy
    info

    Este comando deploya el certificados SSL y su llave privada en todos los servidores.

Cambios en shorewall

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

    ansible-playbook os.yml -K -t shorewall-deploy

Cambios en redis

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

    ansible-playbook redis.yml -K -t setup,deploy,init

Cambios en kafka

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

    ansible-playbook kafka.yml -K -t setup,deploy
    ansible-playbook admin.yml -K -t kafka-topics-create

Cambios en vault

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

    ansible-playbook vault.yml -K -t backup
    ansible-playbook vault.yml -K -t deploy
    ansible-playbook vault.yml -K -t unseal
  2. En el path secrets/viridian/application, se deben agregar nuevas variables:

        "redis.user": "component",
    "redis.password": "obtener el valor de la variable redis.componentPassword en local_vars.yml",
    "kafka.componentUsername": "component",
    "kafka.componentPassword": "obtener el valor de la variable kafka.componentPassword en local_vars.yml",

Cambios en elk

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

    ansible-playbook elk.yml -K -t init,deploy

Cambios en proxy

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

    ansible-playbook proxy.yml -K -t adm-deploy

Cambios en componentes

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

    ansible-playbook release.yml -K -t deploy -e "type=cold"

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

Verificación de componentes

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

    docker ps -vs
    info

    Este comando muestra el estado de todos los docker containers ordenados alfabéticamente.

  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 mantenimiento

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

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

    Este comando deshabilita el modo mantenimiento.

Resumen de versiones

componenterelease 2.1.3release 3.0.0
viridian-config-properties8.3.09.1.1
vdb-config-properties8.3.1removido
server-config8.1.09.1.0
server-eureka8.1.09.1.0
vdb-routes-public8.1.09.1.0
vdb-routes-internal8.1.09.1.0
vdb-routes-bank8.1.09.1.0
gateway-public8.5.09.1.0
gateway-internal8.3.09.1.0
bank-gateway8.4.09.1.0
batchpayments-api8.1.09.1.0
batchpayments-hosted8.2.09.1.0
beneficiaries-api8.1.09.1.0
digitalpay-qr8.1.19.1.0
manager-api8.2.09.1.1
manager-hosted8.1.09.1.0
notifications-hosted8.1.09.1.0
onboarding-api8.1.09.1.0
servicepayments-api8.2.09.1.0
statements-api8.1.09.1.0
transactions-api8.1.09.1.1
transactions-hosted8.1.09.1.0
utilities-api8.1.09.1.0
frontend-vdb5.1.49.1.1
frontend-admin1.10.19.1.0