Saltar al contenido principal
Version: 1.8.1

Despliegue de Araí

Configuracion y despliegue de Araí-Usuarios

Antes de comenzar con el despliegue de la aplicacion debe corroborar que los parametros de configuracion del ConfigMap en uunn-overlay/apps/usuarios/config/ y los secrets en uunn-overlay/secrets/usuarios-secrets.env sean correctos.

Acceso a Postgres y LDAP

Los parámetros de conexión a la base de datos y ldap los puede encontrar en el archivo uunn-overlay/apps/usuarios/config/usuarios.env, y son los siguientes:

###### CONFIG DB ######
DB_HOST=db-siu
DB_PORT=5432
DB_DBNAME=usuarios
DB_USERNAME=postgres
DB_SCHEMA=usuarios
DB_PASSWORD_FILE=/var/secrets/DB_PASSWORD

##### CONFIG LDAP #####
LDAP_HOST=ldap
LDAP_PORT=389
LDAP_TLS=0
LDAP_METHOD=user
LDAP_BINDUSER=cn=admin,dc=siu,dc=cin,dc=edu
LDAP_BINDPASS_FILE=/var/secrets/LDAP_BINDPASS
LDAP_SEARCHBASE=dc=siu,dc=cin,dc=edu
LDAP_USERS_OU=usuarios
LDAP_USERS_ATTR=ou
LDAP_ACCOUNTS_OU=usuariosCuentas
LDAP_ACCOUNTS_ATTR=ou
LDAP_GROUPS_OU=groups
LDAP_GROUPS_ATTR=ou
LDAP_NODES=
Recordatorio

Los parametros que incluyan el termino HOST (ejemplo: DB_HOST o LDAP_HOST) db-siu o ldap hacen referencia a los pods desplegados con este repositorio. Si precisa conectarlo con una instancia en otro namespace u on-premise, recuerde ajustar estos parametros.

Generar certificados

Araí-Usuario requiere dos pares de claves para funcionar, una para firmar los tokens SAML y otra para firmar los tokens JWT de OIDC.

Para generar los certificados utilizados para firmar los tokens SAML ejecutar:

openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out uunn-overlay/common/certs/certificado_idp.crt -keyout uunn-overlay/secrets/certificado_idp.key

Para generar los certificados utilizados en OIDC para firmar tokens JWT ejecutar:

openssl genrsa -out uunn-overlay/secrets/oidc_module.pem 2048

openssl rsa -in uunn-overlay/secrets/oidc_module.pem -pubout -out uunn-overlay/common/certs/oidc_module.crt

Configuracion reCaptcha

Los secrets para reCAPTCHA permiten a las aplicaciones validar la interacción de usuarios para asegurar que no se trata de bots, utilizando las claves secretas proporcionadas por Google reCAPTCHA. Una vez tengamos las claves debe proceder a definirlas en el archivo uunn-overlay/apps/usuarios/config/usuarios.env, modificando las siguientes variables:

SEGURIDAD_RECAPTCHA_SITIO=6LeIxAcTAAAGETMEFROMRECAPTCHASITE
SEGURIDAD_RECAPTCHA_CLAVE=6LeIxAcTAAAAAGG-GETMEFROMWEBBEFORE
Nota

Debe configurar las mismas keys tanto en esta sección de arai-usuarios como en la sección correspondiente de huarpe.

Despliegue de aplicación

A continuación deberá proceder a realizar el despliegue de los módulos de la aplicación:

kustomize build --load-restrictor LoadRestrictionsNone uunn-overlay/apps/usuarios | kubectl apply -f -

Con el siguiente comando se procede a crear la base, se crea el admin, se inicializa las personas (se queda esperando a que este levantado personas para proseguir) y usuarios-inicializar-recursos.yaml

kustomize build --load-restrictor LoadRestrictionsNone uunn-overlay/jobs/usuarios/init | kubectl apply -f -

El proceso de inicialización de usuarios tiene un job para verificar personas que queda en espera (standby) hasta que arai-personas acepte conexiones.

Nota: Todos los jobs están configurados para eliminarse automáticamente 20 minutos después de finalizar, independientemente de si el estado es Completed o Failed.

Por último deberá ejecutar este job, el cual se encarga de configurar las apps (junto a sus urls y parametros de SAML) dentro de Arai-Usuarios.

kustomize build --load-restrictor LoadRestrictionsNone uunn-overlay/jobs/usuarios/config-apps | kubectl apply -f -

Nota: De desearlo, es posible agregar aplicaciones adicionales, lo único que debe hacer es agregar el .json correspondiente y el icono de la aplicación dentro de uunn-overlay/jobs/usuarios/config-apps, eliminar el job y volverlo a correr.

Una vez realizados estos pasos, debería poder acceder en https://uunn-overlay.edu.ar/usuarios (o el dominio que haya definido) la contraseña de admin estara definida en el parametro TOBA_PASSWORD ubicado en uunn-overlay/secrets/usuarios-secrets.env.

Configuracion y despliegue de Araí-Personas

Antes de comenzar con el despliegue de la aplicacion debe corroborar que los parametros de configuracion del ConfigMap en uunn-overlay/apps/personas/config/ y los secrets en uunn-overlay/secrets/personas-secrets.env sean correctos.

Acceso a Postgres

Los parámetros de conexión a la base de datos los puede encontrar en el archivo uunn-overlay/apps/personas/config/personas.env, y son los siguientes:

###### CONFIG DE LA BASE DE NEGOCIO ######
DB_HOST=db-siu
DB_PORT=5432
DB_DBNAME=arai_personas
DB_USERNAME=postgres
DB_PASSWORD_FILE=/var/secrets/DB_PASSWORD
DB_SCHEMA=personas
DB_ENCODING=UTF8

Despliegue de aplicación

A continuación deberá proceder a realizar el despliegue de los módulos de la aplicación:

kustomize build --load-restrictor LoadRestrictionsNone uunn-overlay/apps/personas | kubectl apply -f -

Por último debe ejecutar el job el cual genera la base de datos de personas y en este punto es donde el job corrido anteriormente en usuarios (usuarios-inicializar-personas.yml) inicializa las personas, impacta y se ejecuta.

kustomize build --load-restrictor LoadRestrictionsNone uunn-overlay/jobs/personas/init | kubectl apply -f -

Configuracion y despliegue de SIU-Huarpe

Este sistema sólo consume información a través de endpoints Rest. Estas conexiones están explicitadas en el archivo uunn-overlay/apps/huarpe/config/huarpe.env y no deberían cambiar, salvo que se cambie la ruta interna en el clúster de Sudocu, Usuarios o Documentos, si eso es necesario deberia cambiarlas desde ese mismo archivo.

Configuracion reCaptcha

Los secrets para reCAPTCHA permiten a las aplicaciones validar la interacción de usuarios para asegurar que no se trata de bots, utilizando las claves secretas proporcionadas por Google reCAPTCHA. Una vez tengamos las claves debe proceder a definirlas en el archivo uunn-overlay/secrets/huarpe-secrets.env, ejemplo:

RECAPTCHA_SITIO_PASSWORD=6LeIxAcTAAAGETMEFROMRECAPTCHASITE
RECAPTCHA_CLAVE_PASSWORD=6LeIxAcTAAAAAGG-GETMEFROMWEBBEFORE
Nota

Debe configurar las mismas keys tanto en esta sección de huarpe como en la sección correspondiente de arai-usuarios.

Despliegue de aplicación

kustomize build --load-restrictor LoadRestrictionsNone uunn-overlay/apps/huarpe | kubectl apply -f -

Configuracion y despliegue de Arai-Documentos

Antes de comenzar con el despliegue de la aplicacion debe corroborar que los parametros de configuracion del ConfigMap en uunn-overlay/apps/documentos/config/ y los secrets en uunn-overlay/secrets/docs-secrets.env sean correctos.

Acceso a Postgres

Editar la configuracion de conexión a la base de datos en el archivo uunn-overlay/apps/documentos/config/docs.env:

###### CONFIG DE LA BASE DE NEGOCIO ######
ARAI_DOCS_DB_HOST=db-siu
ARAI_DOCS_DB_PORT=5432
ARAI_DOCS_DB_DBNAME=arai_documentos
ARAI_DOCS_DB_USERNAME=postgres

Conexión con Nuxeo o MinIO

Dependiendo de la solución que haya elegido utilizar, debe ajustar las variables de entorno según corresponda:

# S3 / MINIO
ARAI_DOCS_S3_ENDPOINT=http://minio:9000
ARAI_DOCS_S3_KEY=minio
ARAI_DOCS_S3_REGION=us-east-1
ARAI_DOCS_S3_BUCKET=documentos
ARAI_DOCS_S3_VERSION=latest

# NUXEO
ARAI_DOCS_NUXEO_HOST=http://url-servicio-nuxeo:8080/nuxeo/atom/cmis/
ARAI_DOCS_NUXEO_USUARIO=Administrator
ARAI_DOCS_NUXEO_CLAVE_FILE=/var/secrets/ARAI_DOCS_NUXEO_CLAVE

Tamaño máximo de documentos creados

Nginx posee una anotación que restringe el peso máximo de un payload solicitado por un cliente. Esto repercute en la creación de documentos, ya que si el tamaño del documento supera el peso máximo asignado en la anotación, nginx arrojará un error 413 indicando que el pedido excede el máximo permitido.

Por defecto el despliegue ya tiene asignado un peso máximo de 10 mb, si necesita crear documentos de un peso mayor deberá modificar el parametro value del archivo uunn-overlay/common/ingress/kustomization.yml en la siguiente sección

      - op: add
path: /metadata/annotations/nginx.ingress.kubernetes.io~1proxy-body-size
value: "10m"

Una vez hecho los cambios ejecute el siguiente comando para aplicarlos

kustomize build --load-restrictor LoadRestrictionsNone uunn-overlay/common/ingress | kubectl apply -f -

Despliegue de aplicación

Una vez finalizado lo anterior ya podemos desplegar todos los servicios correspondientes a documentos:

kustomize build --load-restrictor LoadRestrictionsNone uunn-overlay/apps/documentos | kubectl apply -f -

Por último debe ejecutar el job el cual genera la base de datos de documentos.

kustomize build --load-restrictor LoadRestrictionsNone uunn-overlay/jobs/documentos/init | kubectl apply -f -

Configuracion y despliegue de Stamper

Nota: En caso de no necesitar el estampador, puede desactivarlo modificando la variable STAMPER_ACTIVO y STAMPER_SELLOS_ACTIVO ubicadas en uunn-overlay/apps/documentos/config/docs.env. Una vez hecho esto, puede continuar con el despliegue del resto de servicios.

Antes de comenzar con el despliegue de la aplicacion debe corroborar que los parametros de configuracion del ConfigMap en uunn-overlay/apps/estampador/config/

Este servicio se encuentra activado por defecto, y requiere de la disposición de un keystore para el funcionamiento del mismo.

Nota: Para la creación de este, dirigirse a la siguiente guia

Despliegue de aplicación

Una vez que posea el Keystore, debe:

    1. Ubicar el archivo .p12 en el directorio <nombre-del-overlay>/secrets
    1. Verificar que los parametros del archivo de configuracion uunn-overlay/apps/estampador/config/docs.stamper.env correspondan a los creados para su keystore.
    1. Verificar que la clave ARAI_DOCS_STAMPER_KEYSTORE_PASS ubicada en el archivo uunn-overlay/secrets/docs-stamper-secrets.env coincida con la de su keystore.

Una vez cumplido dichos requisitos, ejecute el siguiente comando para desplegar el servicio de estampador:

kustomize build --load-restrictor LoadRestrictionsNone uunn-overlay/apps/estampador | kubectl apply -f -