VIRIDIAN Digital Banking - Ansible 2.0.0
Checkout del tag asociado a la versión del release
-
En el servidor de administración, ejecutar el siguiente comando:
cdansible -
En el servidor de administración, ejecutar el siguiente comando:
git fetch --all --tags -f -
En el servidor de administración, dependiendo del entorno, ejecutar el siguiente comando:
git checkout 2.0.0-prod
Cambios en base de datos
-
Ejecutar el siguiente script:
ALTER TABLE [man_customer_authorization] ADD [date_start] [date];
ALTER TABLE [man_account] ADD [fk_user_holding] [bigint];
ALTER TABLE [man_customer_authorization] ADD [date_end] [date];
ALTER TABLE [activation_request] ADD [vfk_user] [bigint];
ALTER TABLE [activation_request] ADD [vfk_customer] [bigint];
ALTER TABLE [company_service] ADD [change_tax_data] [varchar](10);
ALTER TABLE [company_service] ADD [use_all_invoice_fields] [varchar](10);
ALTER TABLE [notification] ADD [display_times] [int];
ALTER TABLE [device] ADD [activation_trn_id_trn] [char](25);
ALTER TABLE [device] ADD [activation_date] [datetime];
ALTER TABLE [device] ADD [challenge] [varchar](100);
ALTER TABLE [device] ADD [holding_aware] [smallint] DEFAULT 0;
ALTER TABLE [device] ADD [app_check_token_expire_date] [datetime];
ALTER TABLE [device] ADD [app_check_token] [varchar](2048);
ALTER TABLE [device] ADD [totp_secret] [varchar](250);
ALTER TABLE [transfer] ADD [vfk_user_holding_source] [bigint];
ALTER TABLE [transfer] ALTER COLUMN [doc_id_type_target] [char](10);
ALTER TABLE [man_user] ADD [status_internal] [varchar](50);
ALTER TABLE [transfer] ADD [vfk_user_holding_target] [bigint];
ALTER TABLE [transaction] ADD [account_code] [varchar](40);
ALTER TABLE [transaction] ADD [account_type_code] [varchar](5);
ALTER TABLE [beneficiary] ADD [beneficiary_bank_id] [varchar](40);
ALTER TABLE [beneficiary] ADD [upsert_trn_id_trn] [varchar](25);
ALTER TABLE [company_service_favorites] ADD [last_notification_date] [datetime];
ALTER TABLE [device] DROP COLUMN [app_check_token_issued_date];
ALTER TABLE [device] DROP COLUMN [biometric_activation_date];
ALTER TABLE [device] DROP COLUMN [biometric_activation_trn_id_trn];
ALTER TABLE [collect] ALTER COLUMN [account_holder_name] [varchar](80);
ALTER TABLE [service_payment] ALTER COLUMN [amount] [decimal](19, 2);
ALTER TABLE [notification] ALTER COLUMN [title] [varchar](80) NOT NULL;
ALTER TABLE [notification] ALTER COLUMN [vfk_transaction] [char](25) NOT NULL;
ALTER TABLE [notification] ALTER COLUMN [body] [varchar](250) NOT NULL;
ALTER TABLE [notification] ALTER COLUMN [category_code] [varchar](20) NOT NULL;
ALTER TABLE [notification] ALTER COLUMN [category_name] [varchar](80) NOT NULL;
ALTER TABLE [authorization_code] ALTER COLUMN [code] [varchar](100);
ALTER TABLE [security_event] ALTER COLUMN [firebase_id] [varchar](200) NULL;
ALTER TABLE [notification_image] ALTER COLUMN [image_base64] [varchar](MAX) NOT NULL;
ALTER TABLE [service_payment] ALTER COLUMN [service_credentials] [varchar](MAX);
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 ('ADD_BENEFICIARY', 'OPERATION', '301', 'ACTIVE', NULL, GETDATE(), NULL, NULL, 'admin', NULL, NULL);
UPDATE man_user SET status_internal = status WHERE status is not null;
UPDATE man_user SET status = 'NONE' WHERE status = 'UNKNOWN_USER';
UPDATE man_user SET status = 'ACTIVE' WHERE status = 'AWAITING_LOGIN';
UPDATE man_user SET status = 'ACTIVE' WHERE status = 'MISSING_PASSWORD';
UPDATE man_user SET status = 'ACTIVE' WHERE status = 'BAD_PASSWORD';
UPDATE man_user SET status = 'ACTIVE' WHERE status = 'BANK_UNKNOWN_ERROR';
UPDATE man_user SET status = 'ACTIVE' WHERE status = 'CHANGE_PASSWORD_REQUIRED';
UPDATE man_user SET status = 'ACTIVE' WHERE status = 'CHANGE_USERPASSWORD_REQUIRED';
UPDATE man_user SET status = 'ACTIVE' WHERE status = 'IMPORTED_USER';
UPDATE man_user SET status = 'INACTIVE' WHERE status = 'INACTIVE_USER';
UPDATE man_user SET status = 'INACTIVE' WHERE status = 'BLOCKED_BY_PASSWORD';
UPDATE man_user SET status = 'INACTIVE' WHERE status = 'BLOCKED_USER';
UPDATE device set holding_aware = 0 where 1=1;
CREATE NONCLUSTERED INDEX [idx_man_user_doc_id] ON [man_user]([doc_id]);
CREATE NONCLUSTERED INDEX [idx_trn_ref_account] ON [transaction]([reference_id], [account_code], [account_type_code]);
CREATE NONCLUSTERED INDEX [idx_collect_qr_id_fk_unity] ON [collect]([qr_id], [fk_unity_collect_detail]);
Cambios en componentes de configuración
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook config.yml -K -t setuptipEste comando creara el directorio
/opt/viridian/config.Servidores afectados:
- administración
- aplicaciones
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook config.yml -K -t viridian-deploy -e "silent=true"tipEste comando descargara la version correspondiente al componente
viridian-config-propertiesen el directorio/opt/viridian/configdel servidor de administración, luego copiara el componente a los servidores de aplicaciones en la ruta/opt/viridian/config/application.yml.Servidores afectados:
- administración
- aplicaciones
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook config.yml -K -t vdb-deploy -e "silent=true"tipEste comando descargara la version correspondiente al componente
vdb-config-propertiesen el directorio/opt/viridian/configdel servidor de administración, luego copiara el componente a los servidores de aplicaciones en la ruta/opt/viridian/config/vdb/application.yml.Servidores afectados:
- administración
- aplicaciones
Cambios en componentes spring
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook spring.yml -K -t setup,deploytipEste comando creara el directorio
/opt/viridian/springy dentro copiara el archivo docker-compose.yml que contiene la especificación de los docker containers.Docker containers a deployar:
- server-config
- server-eureka
Servidores afectados:
- aplicaciones
Cambios en componentes de rutas
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook routes.yml -K -t setuptipEste comando creara los directorios
/opt/viridian/routes,/opt/viridian/routes/public,/opt/viridian/routes/internaly/opt/viridian/routes/bank.Servidores afectados:
- aplicaciones
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook routes.yml -K -t vdb-public-deploy,vdb-internal-deploy,vdb-bank-deploy -e "silent=true"tipEste comando descargara la version correspondiente a los componentes
vdb-routes-public,vdb-routes-internalyvdb-routes-banken los directorios/opt/viridian/routes/public,/opt/viridian/routes/internaly/opt/viridian/routes/bank, respectivamente.Servidores afectados:
- aplicaciones
Cambios en componentes gateway
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook gateway.yml -K -t setup,deploytipEste comando creara el directorio
/opt/viridian/gatewayy dentro copiara el archivo docker-compose.yml que contiene la especificación de los docker containers.Docker containers a deployar:
- gateway-public
- gateway-internal
Servidores afectados:
- aplicaciones
Cambios en componentes vdb
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook vdb.yml -K -t setup,backend-deploy,frontend-deploytipEste comando creara los directorios
/opt/viridian/vdb,/opt/viridian/vdb/backendy/opt/viridian/vdb/frontendy dentro copiara los archivos docker-compose.yml que contienen la especificación de los docker containers.Docker containers a deployar para el backend:
- bank-gateway
- beneficiaries-api
- digitalpay-qr
- manager-api
- manager-hosted
- notifications-hosted
- onboarding-api
- servicepayments-api
- statements-api
- transactions-api
- transactions-hosted
- utilities-api
Docker containers a deployar para el frontend:
- frontend-vdb
- frontend-admin
Servidores afectados:
- aplicaciones
Cambios en componente proxy
-
En el servidor de administración, ejecutar el siguiente comando ansible:
ansible-playbook proxy.yml -K -t web-deploytipEste comando iniciara un proceso interactivo de configuración, se pedirá que servidores recibirán el trafico desde los servidores web, se mostrara una lista de opciones donde 0 es la opción para seleccionar a todos los servidores de aplicaciones y 1, 2, etc, son las opciones para seleccionar a un servidor especifico de aplicaciones, para escoger la opción se debe ingresar el valor y luego presionar ENTER.
Normalmente se debe seleccionar la opción 0, las demás opciones están pensadas para redirigir el trafico a un servidor especifico de aplicaciones cuando el o los otros presente algún problema o se este haciendo alguna actualización.
Después de seleccionar la opción, el comando creara la configuración de los sitios disponibles en el directorio
/opt/viridian/proxy/config/sites/enabled.Docker containers a deployar:
- proxy
Servidores afectados:
- web