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=
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
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
oFailed
.
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
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
ySTAMPER_SELLOS_ACTIVO
ubicadas enuunn-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:
-
- Ubicar el archivo .p12 en el directorio
<nombre-del-overlay>/secrets
- Ubicar el archivo .p12 en el directorio
-
- Verificar que los parametros del archivo de configuracion
uunn-overlay/apps/estampador/config/docs.stamper.env
correspondan a los creados para su keystore.
- Verificar que los parametros del archivo de configuracion
-
- Verificar que la clave
ARAI_DOCS_STAMPER_KEYSTORE_PASS
ubicada en el archivouunn-overlay/secrets/docs-stamper-secrets.env
coincida con la de su keystore.
- Verificar que la clave
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 -