SIU-Proveedores
Requerimientos
- Una versión de Arai-Notificaciones v1.0.1+ funcional (instalar)
- 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 Proveedoresproveedores_db_pass
: Password de la conexión con Postgresproveedores_api_usuarios_pass
: Password de la conexión con Araí Usuariosproveedores_api_notificaciones_pass
: Password de la conexión con Araí Notificacionesproveedores_api_documentos_pass
: Password de la conexión con Araí Documentosproveedores_preinscripcion_token_pass
: Secret para la generación de tokens JWTdiaguita_api_client_pass
: Password de la conexión con SIU-Diaguitapilaga_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:
- Ingrese a Araí-Usuarios (user
admin
y password seteado anteriormente) - Dirigirse al item
Aplicaciones
- Presionar el botón
Agregar +
- Completar de la siguiente manera el tab
Datos Generales
- Url: https://universidad.edu.ar/proveedor
- Nombre: Portal del Proveedor
- Cómo ícono colocar esta imagen: https://hub.siu.edu.ar/siu/expedientes/-/blob/master/var/logos/huarpe-proveedores.png
- Completar de la siguiente manera el tab
SAML
- Chequear la opción
Activo
- Entity Id: https://universidad.edu.ar/proveedor/saml/metadata
- Assertion Consumer Serv.: https://universidad.edu.ar/proveedor/saml/acs
- Single Logout Serv.: https://universidad.edu.ar/proveedor/saml/logout
- Chequear la opción
- 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
:
API_PROVEEDORES_USR:
Usuario para acceder a la API de SIU-Proveedores.API_PROVEEDORES_URL:
URL de la API de SIU-Proveedores. Ej: http://proveedores-api:8080/api-proveedores/rest/DIAGUITA_URL_COMPRAS:
URL de acceso al Portal Público de Compras de la institución. Ej: http://url/a/diaguita/portal-compras/
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 exteriorARAI_PROVEEDORES_USER
: Usuario para acceder a la APIHUARPE_PROVEEDORES_APP_UNIQUE_ID
: Identificador de Huarpe ProveedoresNOTIFICACIONES_MAIL_FROM
: Remitente de los emails enviados para la preinscripciónNOTIFICACIONES_NOMBRE_INSTITUCION
: Nombre de la Institución que será visible en las notificaciones enviadasNOTIFICACIONES_LOGO_INSTITUCION_URL
: URL del logo a utilizar para las notificaciones a enviarPREINSCRIPCION_TOKEN_EXPIRATION_DAYS
: Cantidad de días que dura el token utilizado para la preinscripciónNOTIFICACIONES_URL_PORTAL_PROVEEDOR
: URL del Portal del ProveedorNOTIFICACIONES_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 datosARAI_PROVEEDORES_DB_PORT
: Puerto de la base de datosARAI_PROVEEDORES_DB_DBNAME
: Nombre de la base de datosARAI_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