Saltar al contenido principal
Version: 1.8.2

SIU-Proveedores

Requerimientos

  1. Una versión de Arai-Notificaciones v1.0.1+ funcional (instalar)
  2. Una versión de Arai-Usuarios v3.3+ funcional (instalar)

Sincronizador

SIU-Proveedores ofrece una librería para sincronizar datos de proveedores entre los módulos SIU-Diaguita y SIU-Pilagá. En caso de que ya haya sincronizado los proveedores entre los módulos mediante lo que anteriormente se conocía como Arai-Proveedores, no necesita realizar ninguna acción. En caso contrario, debe utilizar esta guía para llevar a cabo la sincronización inicial. Una vez completada la sincronización, puede proseguir con los siguientes componentes.

Creación de secretos

Secretos requeridos durante el despliegue:

  • proveedores_api_pass: Password de la API de Proveedores
  • proveedores_db_pass: Password de la conexión con Postgres
  • proveedores_api_usuarios_pass: Password de la conexión con Araí Usuarios
  • proveedores_api_notificaciones_pass: Password de la conexión con Araí Notificaciones
  • proveedores_api_documentos_pass: Password de la conexión con Araí Documentos
  • proveedores_preinscripcion_token_pass: Secret para la generación de tokens JWT
  • diaguita_api_client_pass: Password de la conexión con SIU-Diaguita
  • pilaga_api_client_pass: Password de la conexión con SIU-Pilaga

La distribución provee el script de bash proveedores-secrets.sh.dist para ejemplificar como inicializar todos los valores requeridos. Si desea mantener un archivo propio con las claves de su ambiente ejecute:

cp prod/modulos/proveedores/proveedores-secrets.sh.dist prod/modulos/proveedores/proveedores-secrets.sh

y modifique el script proveedores-secrets.sh con los datos correspondientes a su entorno. Luego ejecutelo para cargar los secretos dentro de Docker.

./proveedores-secrets.sh

Cambiar Dominio

Reemplazar universidad.edu.ar por el valor correcto utilizando el siguiente comando.

sed -i 's/uunn.local/universidad.edu.ar/g' \
prod/modulos/proveedores/proveedores.yml \
prod/modulos/proveedores/proveedores.env \
prod/modulos/proveedores/portal.env

Para el Portal existe una expresión regular con la URL que debemos ajustar:

sed -i 's/uunn\\.local/universidad\\.edu\\.ar/g' prod/modulos/proveedores/portal.env

Portal del Proveedor

Registrar Portal

Para hacerlo debe acceder al manejador de usuarios y seguir estos pasos:

  1. Ingrese a Araí-Usuarios (user admin y password seteado anteriormente)
  2. Dirigirse al item Aplicaciones
  3. Presionar el botón Agregar +
  4. Completar de la siguiente manera el tab Datos Generales
  5. Completar de la siguiente manera el tab SAML
  6. Presionar el botón Guardar

La URL https://universidad.edu.ar/proveedor usada cómo ejemplo es la url de acceso a la instalación existente.

Configurar usuarios administradores

Luego de registrar el Portal como aplicación, hay que configurar los usuarios que seran administradores del Portal. Estos usuarios son los que podrán realizar la administración de las Preinscripciones de los Proveedores. A cada usuario que será administrador, desde la pantalla de edicíon de cuentas del usuario en Arai-Usuarios, se le debe vincular la cuenta a la aplicación “Portal del Proveedor” indicando la cuenta: administrador_proveedores

Parámetros de Configuración

A continuación se detallan algunas variables de entorno que deben ser configuradas antes del despliegue.

Las siguientes son requeridas para el Portal (Frontend) y se encuentran en el archivo portal.env:

Las siguientes variables de entorno son requeridas para la API de Proveedores y se encuentran en el archivo prod/modulos/proveedores/proveedores.env.

  • ARAI_PROVEEDORES_URL: Es la URL base de la API accesible desde el exterior
  • ARAI_PROVEEDORES_USER: Usuario para acceder a la API
  • HUARPE_PROVEEDORES_APP_UNIQUE_ID: Identificador de Huarpe Proveedores
  • NOTIFICACIONES_MAIL_FROM: Remitente de los emails enviados para la preinscripción
  • NOTIFICACIONES_NOMBRE_INSTITUCION: Nombre de la Institución que será visible en las notificaciones enviadas
  • NOTIFICACIONES_LOGO_INSTITUCION_URL: URL del logo a utilizar para las notificaciones a enviar
  • PREINSCRIPCION_TOKEN_EXPIRATION_DAYS: Cantidad de días que dura el token utilizado para la preinscripción
  • NOTIFICACIONES_URL_PORTAL_PROVEEDOR: URL del Portal del Proveedor
  • NOTIFICACIONES_URL_BASE: URL base utilizada para generar las url de recupero de contraseña de Arai-Usuarios

API

La especificación del stack de este módulo se encuentra en prod/modulos/proveedores/proveedores.yml. Existe también otro archivo de configuración asociado con la especificacion de las variables de entorno requeridas: prod/modulos/proveedores/proveedores.env

Conexión con Postgresql

Se deben definir los parametros de conexion a la Base de datos en el archivo prod/modulos/proveedores/proveedores.env modificando las siguientes variables de entorno.

  • ARAI_PROVEEDORES_DB_HOST: Host de la base de datos
  • ARAI_PROVEEDORES_DB_PORT: Puerto de la base de datos
  • ARAI_PROVEEDORES_DB_DBNAME: Nombre de la base de datos
  • ARAI_PROVEEDORES_DB_USERNAME: Usuario de la base de datos

Migración de Base de Datos

Para actualizar la estructura de una base de datos de proveedores ya existente, debe ejecutar el siguiente comando:

docker stack deploy --with-registry-auth -c prod/modulos/proveedores/util/proveedores_migrar_base.yml proveedores_migrar_base

Puede verificar el estado del mismo con el comando:

docker service logs proveedores_migrar_base_migrar-base -f

Una vez finalizada la migración, puede eliminar el stack ejecutando el comando:

docker stack rm proveedores_migrar_base

Configurar acceso externo (exponer fuera del cluster con Traefik)

Si desea habilitar el acceso externo a la API se deben descomentar las siguientes líneas en proveedores.yml

#        - "traefik.enable=true"
# - "traefik.http.routers.proveedores-api.entrypoints=web-secured"
# - "traefik.http.routers.proveedores-api.rule=Host(`uunn.local`) && ( PathPrefix(`/api-proveedores`) )"
# - "traefik.http.routers.proveedores-api.tls=true"
# - "traefik.http.services.proveedores-api.loadbalancer.server.port=8080"
# - "traefik.http.routers.proveedores-api.middlewares=security-headers@file"

Configuración API Diaguita

Para utilizar el modulo de Oferta Electrónica, es necesario configurar el acceso a la API de SIU-Diaguita

En primer lugar es necesario haber generado un secret (secreto) para almacenar la contraseña de la API de SIU-Diaguita. En la sección Creación de secretos se encuentran los pasos para generar los secrets entre los que se encuentra el requerido: diaguita_api_client_pass

printf "diaguita123" | docker secret create diaguita_api_client_pass -

En el archivo prod/modulos/proveedores/proveedores.yml se deben descomentar (o agregar) los items en las secciones que se detallan a continuación.

portal
...
secrets:
diaguita_api_client_pass

secrets:
diaguita_api_client_pass:
external: true

Finalmente se deben definir valores para las restantes variables de entorno necesarias en el archivo prod/modulos/proveedores/portal.env:

API_DIAGUITA_USR=diaguita
API_DIAGUITA_URL=http://url/a/diaguita/rest/v1/
  • API_DIAGUITA_USR: Usuario para acceder a la API de SIU-Diaguita.
  • API_DIAGUITA_URL: URL de la API de SIU-Diaguita.

Configuración API Pilaga

Para visualizar los comprobantes del Proveedor, es necesario configurar el acceso a la API de SIU-Pilaga

En primer lugar es necesario haber generado un secret (secreto) para almacenar la contraseña de la API de SIU-Pilaga. En la sección Creación de secretos se encuentran los pasos para generar los secrets entre los que se encuentra el requerido: pilaga_api_client_pass

printf "pilaga123" | docker secret create pilaga_api_client_pass -

En el archivo prod/modulos/proveedores/proveedores.yml se deben descomentar (o agregar) los items en las secciones que se detallan a continuación.

portal
...
secrets:
pilaga_api_client_pass

secrets:
pilaga_api_client_pass:
external: true

Finalmente se deben definir valores para las restantes variables de entorno necesarias en el archivo prod/modulos/proveedores/portal.env:

API_PILAGA_USR=pilaga
API_PILAGA_URL=http://url/a/pilaga/rest/v1/
  • API_PILAGA_USR: Usuario para acceder a la API de SIU-Pilaga.
  • API_PILAGA_URL: URL de la API de SIU-Pilaga.

Desplegar el stack

docker stack deploy --with-registry-auth -c prod/modulos/proveedores/proveedores.yml proveedores

Prueba de funcionamiento de la API

Se puede verificar el correcto funcionamiento de la API ejecutando (reemplazar universidad.edu.ar por el dominio elegido).

curl https://universidad.edu.ar/api-proveedores/rest/proveedores/estado -u proveedores:proveedores123

Tenga en cuenta que el curl anterior funcionará si se ha habilitado el acceso externo a la API de Proveedores.

Acceso al Portal

Una vez realizado el despliegue se podrá ingresar al Portal del Proveedor a través de la url https://universidad.edu.ar/proveedor, reemplazando universidad.edu.ar por el dominio correspondiente.

El acceso directo a la página de inicio del proceso de inscripción de Proveedores se realiza a traves de la siguiente url: https://universidad.edu.ar/proveedor/servicios/proveedores/inscripcion