VIRIDIAN Digital Banking - Ansible 3.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: 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
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook admin.yml -t select-release -e="version=3.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 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
-
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-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----- -
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",
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 2.1.3 | release 3.0.0 |
|---|---|---|
| viridian-config-properties | 8.3.0 | 9.1.1 |
| 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 |
| 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.1 |
| 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 |
| transactions-api | 8.1.0 | 9.1.1 |
| 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 |