Despliegue de Araí
Previo a ejecutar los siguientes comandos para desplegar los pods, recuerde ubicarse dentro de la carpeta de su overlay, de esta manera podrá copiar y pegar los comandos correctamente en su terminal.
cd <uunn-overlay>
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 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 jobs/personas/init | 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:
Conexión con Nuxeo
STORAGE_TYPE: Debe especificarRDISTORAGE_HOST: Es la url de nuxeo, debe apuntar a la API CMIS < url-host-nuxeo >/nuxeo/atom/cmis/STORAGE_USUARIO: API User de NuxeoSTORAGE_CLAVE: Password asociada al User anterior
Conexión con S3
En caso de que opte por utilizar la solución de object storage de S3, debe configurar y agregar de ser necesario las siguientes variables:
STORAGE_TYPE: Debe especificarS3STORAGE_ENDPOINT: Configuracion del endpoint donde se encuentran los buckets.STORAGE_KEY: Key para autenticar contra el bucket.STORAGE_SECRET: Secret para autenticar contra el bucket.STORAGE_REGION: Region donde se encuentra el bucket. Ej:us-west-2.STORAGE_BUCKET: Nombre del bucket. Ejemplo:bucket_test.STORAGE_VERSION: Version del servicio web utilizado. Ejemplo:2006-03-01olatest.
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"
Los cambios se verán reflejados una vez que despliegue la aplicacion.
Despliegue de aplicación
Una vez finalizado lo anterior ya podemos desplegar todos los servicios correspondientes a documentos:
kustomize build --load-restrictor LoadRestrictionsNone 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 jobs/documentos/init-update | kubectl apply -f -
Ejecución de comandos administrativos
Para la ejecución de comandos administrativos se debe desplegar el servicio docs-cli
kustomize build --load-restrictor LoadRestrictionsNone jobs/documentos/adm/cli | kubectl apply -f -
Una vez desplegado es posible conectarse al contenedor:
kubectl exec -it -n <namespace> <pod> -- bash
Luego cargar el entorno
. /siu-entrypoint.d/00-config-prod.sh
set +e
Finalmente se pueden lanzar los comandos administrativos necesarios:
./cli/bin/docs
Para mas información sobre la comandos administrativos disponibles puede consultar la documentación de Araí-Documentos