VIRIDIAN Digital Banking - Ansible 4.0.0
Changelog
- General: Se implementa la versión 9 de Viridian Digital Banking que tiene los siguientes cambios:
- Se ha implementado el componente Redis en la versión: 8.0.3
- Se ha actualizado los componentes netcore: de 8 a 9
- Se ha actualizado los componentes spring boot a la versión: 3.5.3
- Se ha actualizado los componentes Angular a la versión: 20.2.4
- Se ha actualizado el ELK a la versión: 9.1.2
- Se ha actualizado Kafka a la versión: 8.0.0 y se ha implementado SASL_SSL
- Se ha actualizado Vault a la versión: 1.20.1.
- General: En los endpoints que consume el banco, se agrega la propiedad "key", esto para facilitar las búsquedas en el ELK, inicialmente trabajamos en los siguientes endpoints: - VerifyQRPaymentAdmin: key = trnIdTrn - NotifyQRPaymentAdmin: key = trnIdTrn - NotifyActivityAdmin: key = ClientCode - NotifyMessageAdmin: key = ClientCode
- 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 problemas.
- Administración de Usuarios: En Administración de Usuarios, ya no se solicita código de autorización para realizar creaciones, eliminaciones o modificaciones de usuarios. Esto con el fin de facilitar el uso para los empleados de las empresas.
- Banca Web - General: Se implementa el mismo control aplicado en la Banca Móvil para restringir el acceso a la Banca Web, permitiendo el ingreso únicamente a clientes empresariales.
- Banca Web - Cobranza: Se realizan los siguientes ajustes en este módulo:
- Se cambia el titulo a Cobranzas Masivas
- Se cambia la opción "Archivos de cobranza" a "Cargar archivos"
- Se cambia la opción "Emails cobranza a "Enviar eMails"
- El orden de las pestañas ahora es "Cargar archivos", "Enviar eMails", "Reportes"
- Transacciones: Se agrega a la tabla "transaction" las columnas para poder almacenar la IP y la geolocalización cuando esta esté presente.
Tareas previas
Selección de versión del release
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook admin.yml -t select-release -e="version=4.0.0"infoEste comando selecciona la versión del release.
Descarga de componentes
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook release.yml -K -t warmupinfoEste comando descarga las nuevas versiones de todos los componentes que serán actualizados.
Instrucciones
Habilitar el mantenimiento
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook admin.yml -K -t maintenance-enableinfoEste comando habilita el modo mantenimiento.
Cambios en base de datos
-
Ejecutar el siguiente script:
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 additional_operation ADD user_code varchar(40);
ALTER TABLE [transaction] ADD trace_id varchar(25);
ALTER TABLE [transaction] ADD order_number varchar(30);
ALTER TABLE trade_transfer ADD ben_type VARCHAR(20);
ALTER TABLE trade_transfer ADD ben_first_name VARCHAR(50);
ALTER TABLE trade_transfer ADD ben_second_name VARCHAR(50);
ALTER TABLE trade_transfer ADD ben_last_name VARCHAR(50);
ALTER TABLE trade_beneficiary ADD ben_type VARCHAR(20);
ALTER TABLE trade_beneficiary ADD ben_first_name VARCHAR(50);
ALTER TABLE trade_beneficiary ADD ben_second_name VARCHAR(50);
ALTER TABLE trade_beneficiary ADD ben_last_name VARCHAR(50);
ALTER TABLE activation_request ADD charge_amount decimal(19,2);
ALTER TABLE activation_request ADD charge_currency varchar(10);
Cambios en los servidores
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook admin.yml -K -t stop-netcore -
En el servidor de administración, ejecutar los siguientes comandos:
docker rm -f kafka-ui kafka-broker kafka-controllersudo rm -rf /opt/viridian/kafka-ui /opt/viridian/kafka-broker /opt/viridian/kafka-controller /opt/viridian/config/vdb -
En TODOS los servidores de aplicaciones, ejecutar los siguientes comandos:
sudo rm -rf /opt/viridian/config/vdbdocker rm -f kafka-broker kafka-controllersudo rm -rf /opt/viridian/kafka-broker /opt/viridian/kafka-controller
Cambios en local_vars.yml
-
En el servidor de administración, ejecutar el siguiente comando:
cp defaults/local_vars.yml defaults/local_vars.yml.bck -
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: 666666Donde: 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
-
En el servidor de administración, asegurarse de que el archivo
cert.pemdentro del directorioviridian-ansible-bsol/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----- -
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook tls.yml -K -t deployinfoEste comando deploya el certificados SSL y su llave privada en todos los servidores.
Cambios en shorewall
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook os.yml -K -t shorewall-deploy
Cambios en redis
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook redis.yml -K -t setup,deploy,init
Cambios en kafka
-
En el servidor de administración, ejecutar los siguientes comandos ansible:
ansible-playbook kafka.yml -K -t setup,deployansible-playbook admin.yml -K -t kafka-topics-create
Cambios en vault
-
En el servidor de administración, ejecutar los siguientes comandos ansible:
ansible-playbook vault.yml -K -t backupansible-playbook vault.yml -K -t deployansible-playbook vault.yml -K -t unseal -
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", -
En el path secrets/viridian/vdb-notifications-hosted, se deben agregar nuevas variables:
"huawei.externalApp.clientId": "110753033",
"huawei.externalApp.clientSecret": "8a8c0dc942bb84a9c57d32f9bc12de222be6f5fc97cbd0d5afa8dbd2fa5aefe9",
Cambios en elk
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook elk.yml -K -t init,deploy
Cambios en proxy
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook proxy.yml -K -t adm-deploy
Cambios en componentes
-
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
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook admin.yml -K -t cleanup
Verificación de componentes
-
En los servidores de aplicaciones, ejecutar el siguiente comando:
docker ps -vsinfoEste comando muestra el estado de todos los docker containers ordenados alfabéticamente.
-
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
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook admin.yml -K -t maintenance-disableinfoEste comando deshabilita el modo mantenimiento.
Resumen de versiones
| componente | release 3.0.6 | release 4.0.0 |
|---|---|---|
| viridian-config-properties | 8.3.0 | 9.1.2 |
| vdb-config-properties | 8.3.1 | removido |
| server-config | 8.1.0 | 9.1.0 |
| server-eureka | 8.1.0 | 9.1.0 |
| vdb-routes-public | 8.1.0 | 9.1.0 |
| vdb-routes-internal | 8.1.0 | 9.1.0 |
| vdb-routes-bank | 8.1.0 | 9.1.0 |
| gateway-public | 8.5.0 | 9.1.0 |
| gateway-internal | 8.3.0 | 9.1.0 |
| bank-gateway | 8.4.0 | 9.1.0 |
| bank-service | 8.1.0 | 9.1.0 |
| batchpayments-api | 8.1.0 | 9.1.0 |
| batchpayments-hosted | 8.2.0 | 9.1.0 |
| beneficiaries-api | 8.1.0 | 9.1.0 |
| digitalpay-qr | 8.1.1 | 9.1.0 |
| manager-api | 8.2.0 | 9.1.2 |
| manager-hosted | 8.1.0 | 9.1.0 |
| notifications-hosted | 8.1.0 | 9.1.0 |
| onboarding-api | 8.1.0 | 9.1.0 |
| servicepayments-api | 8.2.0 | 9.1.0 |
| statements-api | 8.1.0 | 9.1.0 |
| trade-api | 8.1.1 | 9.1.0 |
| transactions-api | 8.1.0 | 9.1.2 |
| transactions-hosted | 8.1.0 | 9.1.0 |
| utilities-api | 8.1.0 | 9.1.0 |
| frontend-vdb | 5.1.4 | 9.1.1 |
| frontend-admin | 1.10.1 | 9.1.0 |