Actualizar desde versiones 1.11 a 1.12
Consideraciones
Esta guía lo lleva en el proceso de actualizar una instalación pre-existente de EEI. Tenga en cuenta que:
- La versión requerida de EEI en ejecución es la v1.11.x (última al generar esta guía, no se probaron versiones previas)
- Se actualiza toda la solución EEI que se despliega con Docker
Arai-Usuarios
Se presenta una actualización de la imagen utilizada para el servicio Memcached. No existe mayores cambios de versión.
Desplegar el stack
Solo debemos desplegar el módulo de la siguiente forma:
docker stack deploy --with-registry-auth -c prod/arai/usuarios.yml usuarios
Arai-Documentos
Como novedad, esta versión incorpora una nueva API al servicio documentos (llamanda archivos); también se divide el punto de acceso a la API de frontend respecto a la de backend. Ahora se identifica los nuevos service dentro del stack de la siguiente forma: api-frontend, api-backend, api-archivos, docs-worker.
Se actualizo la imagen base, acarreando esto un cambio en el puerto que utiliza el web-server. Se paso al puerto 8080 lo que implica que deben corregirse aquellas configuraciones de módulos que apuntaban directamente al service de Arai-Documentos.
En particular SIU-Huarpe y Sudocu son dos ejemplos concretos que tratamos más abajo.
Actualizar variables
En la versión 1.8 de Arai-Docs se agregaron nuevas configuraciones. Los cambios se detallan acá.
Cambiar dominio
En los archivos de configuración se asume el dominio uunn.local, para cambiarlo por el dominio definitivo puede utilizar el siguiente comando (reemplace universidad.edu.ar por el dominio real)
sed -i 's/uunn.local/universidad.edu.ar/g' \
prod/arai/docs.yml
Bajar stack docs-api
docker stack rm docs
Actualizar las configuraciones
En este punto, debemos re-crear los secrets que involucran a Arai-Documentos, ya que fue necesario ajustar el formato JSON de configuración.
Empezamos eliminando los secrets existentes:
docker secret rm docs_conexion_usuarios
docker secret rm docs_conexion_personas
docker secret rm docs_conexion_sudocu
docker secret rm docs_conexion_firmar
Luego, regenerando cada uno de ellos (eliminar las comillas y ajustar la configuración de c/u acorde a las necesidades, ej: manteniendo el password utilizado):
- Conexión con Araí Usuarios
DOCS_CONEXION_USUARIOS=$(cat << EOF
{base_uri:'usuarios-api:8080/api/v1/usuarios',method:'basic',user:'documentos',password:'documentos123'}
EOF
)
printf $DOCS_CONEXION_USUARIOS | docker secret create docs_conexion_usuarios -
- Conexión con Sudocu
DOCS_CONEXION_SUDOCU=$(cat << EOF
{base_uri:'http://api-server:8080/',method:'basic',user:'integracion',password:'integracion'}
EOF
)
printf $DOCS_CONEXION_SUDOCU | docker secret create docs_conexion_sudocu -
- Conexión con Araí Personas
DOCS_CONEXION_PERSONAS=$(cat << EOF
{base_uri:'personas-api:8080/api/v1/',method:'basic',user:'documentos',password:'documentos123'}
EOF
)
printf $DOCS_CONEXION_PERSONAS | docker secret create docs_conexion_personas -
- Conexión con FIRMAR.gob.ar
DOCS_CONEXION_FIRMAR=$(cat << EOF
{base_uri:'https://tst.firmar.gob.ar/',method:'basic',user:'f8c9ea3a-6719-4c2f-a7b7-3ba37d65c404',password:''}
EOF
)
printf $DOCS_CONEXION_FIRMAR | docker secret create docs_conexion_firmar -
Atención: para eliminar el secret, primero tiene que eliminar el stack que lo esté utilizando. Ej, documentos.
Actualizar Base de Datos
-
Realizar el backup de PostgreSQL de manera preventiva
-
Desplegar el servicio que actualiza la base de datos
docker stack deploy --with-registry-auth --compose-file prod/arai/util/docs_migrar_base.yml docs_migrar_base
Se puede observar el avance del proceso de migración en el log del servicio. Finalizada la migración, se puede eliminar dicho despliegue del servicio
docker service logs docs_migrar_base_migrar-base -f
docker stack rm docs_migrar_base
Nota: esto requiere acceso a la base de datos para modificar su estructura. Alternativamente, puede seguir esta guía para actualizar la base de datos.
Desplegar el stack
Una vez realizada la configuración e inicialización de la base de datos, pasamos a desplegar el módulo de la siguiente forma:
docker stack deploy --with-registry-auth -c prod/arai/docs.yml docs
Portal del Proveedor (Opcional)
Si posee desplegado el Portal del Proveedor, en esta versión se actualizó la version del Portal basado en SIU-Huarpe, la API de Proveedores y se modificó la URL a la API de arai-documentos que consume la API de Proveedores.
Actualización
Bajar el stack de proveedores
docker stack rm proveedores
Desplegar la nueva versión del Portal de Proveedores
docker stack deploy --with-registry-auth -c prod/modulos/proveedores/proveedores.yml proveedores
SUDOCU
Se modifica la URL de conexión a la API de Arai-Documentos. El cambio está reflejado en el archivo config-api-server.json. Para ello, deberá eliminar el stack y volver a desplegarlo.
Actualización
Borrar el stack actual:
docker stack rm sudocu
Desplegar el servicio
docker stack deploy --with-registry-auth -c prod/sudocu/sudocu.yml sudocu
Huarpe
Se modifica la URL de conexión a la API de Arai-Documentos. El cambio está reflejado en el archivo prod/arai/huarpe.env. Para ello, deberá eliminar el stak y volver a desplegarlo.
Actualizar el despliegue
Bajar stack huarpe
docker stack rm huarpe
Desplegar las nuevas versiones del servicio
docker stack deploy --with-registry-auth -c prod/arai/huarpe.yml huarpe