Bucle infinito luego de ingresar a huarpe despues de actualizar solucion 1.3 a 1.4

Buenos dias. Estamos realizando la actualizacion de la Solucion de Expediente Electronico Integrado de la version 1.3.0 a la 1.4.0 .
Siguiendo lo que se detalla en esta url: Actualizar desde versiones 1.3 a 1.4 · Solución de Expediente Electrónico Integrado
Con respecto a la seccion de Huarpe dentro de ese instructivo, guiandonos por: https://documentacion.siu.edu.ar/huarpe/docs/deploy/env/ fuimos agregando las multiples variables de entorno nuevas en el archivo huarpe.env siguiendo las configuraciones previamente establecidas en los demas archivos relacionados al huarpe.
Y luego de volver a desplegarlo, notamos una especie de bucle luego del login.

Ingresamos a la url y el login de huarpe parece funcionar correctamente, pero luego de ingresar con las credenciales, nos redirecciona a una especie de operacion llamada “Enviando mensaje” en el header de la pestaña. Y se redirecciona constantemente y sin fin a esa operacion. Para volver a probar, vamos a incognito a modo de no estar logueados en huarpe.

A que podrá referirse eso de “Enviando mensaje”, que indicios nos pueden dar sobre eso?

En nuestra implementacion cabe mencionar que solo tenemos Arai Usuarios, Huarpe, y el Bundle de Mapuche en Huarpe. Por lo que el proceso de actualizacion es mas sencillo, pero nos trabamos en esto que pasó con huarpe.

Hola Erwin,

consulta realizaron el ajuste correspondiente mencionado en este punto ?

Tenes el log del contenedor de Huarpe? aunque sea la seccion donde se empieza a repetir para verificar si hay algun detalle de configuracion que este faltando.

Hola! Si, hemos hecho ese paso. En nuestro caso queda escrito de esta manera:

sed -i ‘s/uunn\.local/testarai\.unvime\.edu\.ar/g’ huarpe.env

A modo de reemplazar las coincidencias de “uunn.local” con “testarai.unvime.edu.ar” que es la que venimos usando.

Los logs del contenedor harpe_webapp indican estas tres lineas que se repiten a cada momento del bucle luego de hacer login:

10.0.1.70 - - [01/Mar/2024:08:25:43 -0300] “POST /saml/acs HTTP/1.1” 302 370
10.0.1.70 - - [01/Mar/2024:08:25:43 -0300] “GET / HTTP/1.1” 302 410
10.0.1.70 - - [01/Mar/2024:08:25:43 -0300] “GET /saml/login HTTP/1.1” 302 -

Hola Erwin,

podrias modificar la env correspondiente LOG_LEVEL a DEBUG y volver a deployar el stack de Huarpe?.

Seria para verificar si aparece algun mensaje de error previo a la redireccion, por otro lado te hago la siguiente consulta.

Cuando actualizaron como les quedo huarpe.yml ? hubo cambios a nivel de los labels de traefik?

Saludos

Ok. Ahi seteamos el log_level en DEBUG y bajamos->levantamos el stack de huarpe:
Sin embargo los logs resultantes siguen siendo los mismos. Para ver los logs estoy usando el comando: docker logs --tail 1000 -f <id_contenedor>

Probe tambien entonces, en el archivo huarpe.yml en la linea 55 “bin/console cache:clear --env=prod” cambiarlo de “prod” a “dev”. Y a su vez tambien setear en huarpe.env la variable APP_ENV=dev (por defecto esta en “prod”).

Dependiendo de si lo dejo en prod o en dev me indica lo siguiente en los logs:

con prod:


// Clearing the cache for the prod environment with debug
// false

[OK] Cache for the “prod” environment (debug=false) was successfully cleared.

o esto con dev:


// Clearing the cache for the dev environment with debug
// true

[OK] Cache for the “dev” environment (debug=true) was successfully cleared.

Y entonces en el ejemplo con dev comenzó luego a mostrar logs mas extensos. Al dirigirme a la URL de la pagina, me indica “500 Se ha producido un error inesperado” por lo que mo puedo probar loguarme al aparecer ese error nuevo. Los logs hasta ese punto son los siguientes:

sirviendo . . .
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 10.0.23.6. Set the ‘ServerName’ directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 10.0.23.6. Set the ‘ServerName’ directive globally to suppress this message
[Fri Mar 08 10:14:04.944277 2024] [mpm_prefork:notice] [pid 15] AH00163: Apache/2.4.48 (Unix) configured – resuming normal operations
[Fri Mar 08 10:14:04.944314 2024] [core:notice] [pid 15] AH00094: Command line: ‘httpd -D FOREGROUND’
10.0.1.75 - - [08/Mar/2024:10:15:45 -0300] “GET / HTTP/1.1” 302 410
[Fri Mar 08 10:15:45.545602 2024] [php7:notice] [pid 19] [client 10.0.1.75:35828] [2024-03-08 13:15:45] request.INFO: Matched route “saml_login”. {“route”:“saml_login”,“route_parameters”:{“_route”:“saml_login”,“_controller”:“Hslavich\\OneloginSamlBundle\\Controller\\SamlController::loginAction”},“request_uri”:“https://testarai.unvime.edu.ar/saml/login",“method”:"GET”}
[Fri Mar 08 10:15:45.545862 2024] [php7:notice] [pid 19] [client 10.0.1.75:35828] [2024-03-08 13:15:45] security.INFO: Populated the TokenStorage with an anonymous Token.
[Fri Mar 08 10:15:45.546012 2024] [php7:notice] [pid 19] [client 10.0.1.75:35828] [2024-03-08 13:15:45] php.INFO: User Deprecated: Auto-injection of the container for “Hslavich\OneloginSamlBundle\Controller\SamlController” is deprecated since Symfony 4.2. Configure it as a service instead. {“exception”:“[object] (ErrorException(code: 0): User Deprecated: Auto-injection of the container for \“Hslavich\\OneloginSamlBundle\\Controller\\SamlController\” is deprecated since Symfony 4.2. Configure it as a service instead. at /usr/local/app/vendor/symfony/framework-bundle/Controller/ControllerResolver.php:77)”}
[Fri Mar 08 10:15:45.546133 2024] [php7:notice] [pid 19] [client 10.0.1.75:35828] [2024-03-08 13:15:45] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Config\Exception\LoaderLoadException: “Bundle “SIUDocumentosBundle” does not exist or it is not enabled. Maybe you forgot to add it in the “registerBundles()” method of your “App\Kernel.php” file? in . (which is being imported from “/usr/local/app/config/routes.yaml”). Make sure there is a loader supporting the “huarpe_routes” type.” at /usr/local/app/vendor/symfony/config/Loader/FileLoader.php line 180 {“exception”:“[object] (Symfony\\Component\\Config\\Exception\\LoaderLoadException(code: 0): Bundle \“SIUDocumentosBundle\” does not exist or it is not enabled. Maybe you forgot to add it in the \“registerBundles()\” method of your \“App\\Kernel.php\” file? in . (which is being imported from \”/usr/local/app/config/routes.yaml\“). Make sure there is a loader supporting the \“huarpe_routes\” type. at /usr/local/app/vendor/symfony/config/Loader/FileLoader.php:180, InvalidArgumentException(code: 0): Bundle \“SIUDocumentosBundle\” does not exist or it is not enabled. Maybe you forgot to add it in the \“registerBundles()\” method of your \“App\\Kernel.php\” file? at /usr/local/app/vendor/symfony/http-kernel/Kernel.php:231)”}
10.0.1.75 - - [08/Mar/2024:10:15:45 -0300] “GET /saml/login HTTP/1.1” 500 1384
10.0.1.75 - - [08/Mar/2024:10:15:45 -0300] “GET /build/runtime.16f8e42f.js HTTP/1.1” 200 1499
10.0.1.75 - - [08/Mar/2024:10:15:45 -0300] “GET /build/2.9e6077ef.js HTTP/1.1” 200 38333
10.0.1.75 - - [08/Mar/2024:10:15:45 -0300] “GET /css/animate.css HTTP/1.1” 200 68411
10.0.1.75 - - [08/Mar/2024:10:15:45 -0300] “GET /build/main_css.1faab67e.css HTTP/1.1” 200 244715
10.0.1.75 - - [08/Mar/2024:10:15:45 -0300] “GET /build/0.b2e43be4.js HTTP/1.1” 200 96047
10.0.1.75 - - [08/Mar/2024:10:15:45 -0300] “GET /build/base_js.2d2e5adc.js HTTP/1.1” 200 142091
10.0.1.75 - - [08/Mar/2024:10:15:45 -0300] “GET /favicon.ico HTTP/1.1” 200 1150
127.0.0.1 - - [08/Mar/2024:10:15:51 -0300] “OPTIONS * HTTP/1.0” 200 -
127.0.0.1 - - [08/Mar/2024:10:15:52 -0300] “OPTIONS * HTTP/1.0” 200 -

En cambio, si hago todo seteando “prod” en vez de “dev”, si que puedo loguarme y entrar en bucle pero no tengo esos logs extensos.

En los labels de traefik solamente modificamos esta linea habilitando algunos nuevos paths:

  • “traefik.http.routers.huarpe.rule=Host(testarai.unvime.edu.ar) && (Path(/) || PathPrefix(/saml, /js, /img, /bloque, /css, /perfil, /avatar, /documentos, /bundles, /fonts, /aplicaciones, /diaguita, /mapuche, /portal-proveedor, /build, /servicios, /robots.txt, /favicon.ico ))”

Hola Erwin,

bien ahi cambiando a modo ‘dev’ para obtener mejores logs. Te iba a decir que miraras en el archivo var/log/prod.log pero probablemente no hubiera demasiado.

Aparentemente el error es por un Bundle no cargado, en particular el Bundle de Documentos segun reza el mensaje

[2024-03-08 13:15:45] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Config\Exception\LoaderLoadException: “Bundle “SIUDocumentosBundle” does not exist or it is not enabled.

Revisa la configuracion de las variables de entorno del stack para verificar que esta activado.

En los labels de traefik solamente modificamos esta linea habilitando algunos nuevos paths:

Respecto de los labels… … hay paths de mas pero de ultima eso significa que permite entrar mas cosas de las que debe, no creo que sea la causa del problema, aunque seria mejor que si no tienen nada personalizado coincida con lo que sale por defecto.

Saludos

Nuestra implementacion consiste en:

  • Huarpe
    • Bundle de Mapuche
  • Arai Usuarios

No instalamos el Arai Documentos ni tenemos un servidor NUXEO.

Por lo que en el archivo huarpe.env tenemos en la seccion de Bundles:

BUNDLE_DOCUMENTOS_ACTIVO=0
BUNDLE_DOCUMENTOS_FIRMAR_TOKEN=0
BUNDLE_DOCUMENTOS_FIRMAR_WEB=0
BUNDLE_DOCUMENTOS_FIRMA_MULTIPLE=0
BUNDLE_DOCUMENTOS_SELLOS_ACTIVO=0
BUNDLE_DOCUMENTOS_SELLOS_EDITABLES=0

BUNDLE_MAPUCHE_ACTIVO=1

Y mas abajo, tenemos seteadas las configuraciones de la api usuarios y de la api mapuche.

Tambien probamos dejar comentadas las lineas del bundle documentos, pero el error es el mismo.

Hola Erwin,

bien, una cosa que noto de esto… es que tenes variables de entorno de versiones posteriores a la que estas deployando. De todas formas, las que activan/desactivan los bundles son correctas.

Algun otro archivo que tengan modificado?.. deployee directamente la version 1.4.0 con las variables que me pasaste aca y no tuve ningun inconveniente. Inclusive llegue a romper la publicacion de Huarpe en Traefik pero no logre reproducir el ciclo tuyo.

Podrias hacer un git diff para ver cuales son las diferencias respecto de la config default?. Todo lo que sea informacion sensible podes talarlo, no hay problema.

Lo otro que te solicitaria seria una captura de la definicion de la aplicacion en Arai-Usuarios para ver si me esta faltando algo aca que me pueda ayudar a reproducir el problema.

Saludos

bien, una cosa que noto de esto… es que tenes variables de entorno de versiones posteriores a la que estas deployando. De todas formas, las que activan/desactivan los bundles son correctas.

Si, es que en la guia de actualizacion, el enlace lleva a la lista de parametros de la version mas nueva, supimos que seguramente las cosas mas nuevas que la version nuestra serian ignoradas o sino las comentabamos.

Algun otro archivo que tengan modificado?.. deployee directamente la version 1.4.0 con las variables que me pasaste aca y no tuve ningun inconveniente. Inclusive llegue a romper la publicacion de Huarpe en Traefik pero no logre reproducir el ciclo tuyo.

A continuacion el contenido de los archivos:

huarpe.env

###### CONFIG DE INSTALACION ######
URL=https://testarai.unvime.edu.ar
APP_ENV=dev
# APP_SECRET=
# TRUSTED_PROXIES=127.0.0.1,REMOTE_ADDR
TRUSTED_HOSTS=^(testarai.unvime.edu.ar|localhost)$
LOG_LEVEL=DEBUG # Estaba en WARNING
LOG_HANDLER=error_log

###### CONFIG DE INSTITUCION ######
NOMBRE_INSTITUCION=UNViMe
AMBIENTE_LOGO=logo-cin-blanco.png

###### CONFIG DE IDP PARA SSO ######
IDP_ENTITY_ID=https://testarai.unvime.edu.ar/idp/saml2/idp/metadata.php
IDP_URL_SSO=https://testarai.unvime.edu.ar/idp/saml2/idp/SSOService.php
IDP_URL_SLS=https://testarai.unvime.edu.ar/idp/saml2/idp/SingleLogoutService.php
IDP_CERT_DATA_FILE=/usr/local/app/config/idp.crt
IDP_USERNAME_ATTR=uniqueIdentifier
IDP_LEGAJO_ATTR=employeeNumber

###### CONFIG DE BUNDLES ######
# BUNDLE_USUARIOS_ACTIVO=0
# BUNDLE_USUARIOS_PERFIL_VISIBLE=0
# BUNDLE_USUARIOS_UPDATE_DATOS=0
# BUNDLE_USUARIOS_UPDATE_EMAIL=0
# BUNDLE_USUARIOS_UPDATE_PWD=0
# BUNDLE_USUARIOS_UPDATE_FOTO=0

BUNDLE_DOCUMENTOS_ACTIVO=0
BUNDLE_DOCUMENTOS_FIRMAR_TOKEN=0
BUNDLE_DOCUMENTOS_FIRMAR_WEB=0
BUNDLE_DOCUMENTOS_FIRMA_MULTIPLE=0
BUNDLE_DOCUMENTOS_SELLOS_ACTIVO=0
BUNDLE_DOCUMENTOS_SELLOS_EDITABLES=0

BUNDLE_MAPUCHE_ACTIVO=1

######  CONFIG DE LA SESION ######
SESSION_NAME=HUARPE
SESSION_EXPIRE=3600
MEMCACHED_HOST=memcached-server
MEMCACHED_HOST=11211

###### CONFIG DE APIs REST ######
API_USUARIOS_USR=********
# API_USUARIOS_PASS=
API_USUARIOS_URL=http://usuarios-api/api/v1/
API_USUARIOS_PASS_FILE=/run/secrets/huarpe_usuarios_pass

API_MAPUCHE_USR=********
# API_MAPUCHE_PASS=
API_MAPUCHE_URL=*********
API_MAPUCHE_PASS_FILE=/run/secrets/mapuche_api_client_pass

huarpe.yml

version: '3.8'
services:
  memcached-server:
    image: bitnami/memcached:1.6.6
    #environment: 
    #   MEMCACHED_CACHE_SIZE: 64 # size en megas
    networks:
      internal:
    deploy:
      mode: replicated
      resources:
        limits:
          cpus: '0.2'
          memory: 70M
        reservations:
          cpus: '0.05'
          memory: 64M
      replicas: 1
      restart_policy:
        condition: any
        delay: 10s
        max_attempts: 4
        window: 120s
  webapp:
    image: hub.siu.edu.ar:5005/siu/expedientes/huarpe-core:v3.0.1
    configs:
      - source: huarpe_framework_yml
        target: /usr/local/app/config/packages/prod/framework.yml
      - source: usuarios_idp_saml_cert
        target: /usr/local/app/config/idp.crt
      - source: huarpe_php_ini
        target: /etc/php/7.1/conf.d/siu.ini
    secrets:
      - docs_api_pass
      - huarpe_usuarios_pass
      - huarpe_secret
      - mapuche_api_client_pass
    # NOTA: Creo que esto estaria todo en el huarpe.env asi que ya no hace falta aqui (en teoria). Si lo descomento no se soluciona el error.
    # environment:
    #   HUARPE_SECRET_FILE: /run/secrets/huarpe_secret
    #   HUARPE_PASS_USUARIOS_FILE: /run/secrets/huarpe_usuarios_pass
    #   HUARPE_PASS_DOCS_FILE: /run/secrets/docs_api_pass
    #   HUARPE_IDP_CRT_FILE: /usr/local/app/idp.crt
    #   HUARPE_PROXY: all
    #   MAPUCHE_API_PASS_FILE: /run/secrets/mapuche_api_client_pass
    # NOTA FIN -----
    env_file:
      - ./huarpe.env   
    entrypoint:
      - /bin/sh
    command:
    # el --env estaba en prod por defecto
      - -c
      - | 
        bin/console cache:clear --env=dev 
        /entrypoint.sh --serve
    networks:
      internal:
      traefik-public:
      red-siu:
    healthcheck:
      test: ["CMD-SHELL", "(nc -z localhost 80) || exit 1"]
      interval: 30s
      timeout: 5s
      start_period: 30s
      retries: 5
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 256M
        reservations:
          cpus: '0.1'
          memory: 80M
      mode: replicated
      replicas: 1
      restart_policy:
        condition: any
        delay: 10s
        max_attempts: 4
        window: 120s
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.huarpe.entrypoints=web-secured"
        - "traefik.http.routers.huarpe.rule=Host(`testarai.unvime.edu.ar`) && (Path(`/`) || PathPrefix(`/saml`, `/js`, `/img`, `/bloque`, `/css`, `/perfil`, `/avatar`, `/documentos`, `/bundles`, `/fonts`, `/aplicaciones`, `/diaguita`, `/mapuche`, `/portal-proveedor`, `/build`, `/servicios`, `/robots.txt`, `/favicon.ico` ))"
        - "traefik.http.routers.huarpe.tls=true"
        - "traefik.http.routers.huarpe.middlewares=huarpe-headers,security-headers@file"
        - "traefik.http.middlewares.huarpe-headers.headers.contentSecurityPolicy=upgrade-insecure-requests"
        - "traefik.http.services.huarpe.loadbalancer.server.port=80"
    # Estas son personalizaciones que tuvimos que hacer en forma de volumenes. Actualmente comentadas durante este proceso de actualizacion.
    # volumes:
    #   - ../volumenes/huarpe/logo-cin-blanco.png:/usr/local/app/web/img/logos/logo-cin-blanco.png
    #   - ../volumenes/huarpe/main-07a9e2a.css:/usr/local/app/web/css/compiled/main-07a9e2a.css
configs:
  usuarios_idp_saml_cert:
    external: true
  huarpe_php_ini:
    file: ./huarpe_php.ini
  huarpe_framework_yml:
    file: ./huarpe_framework.yml

secrets:
  huarpe_secret:
    external: true
  docs_api_pass:
    external: true
  huarpe_usuarios_pass:
    external: true
  mapuche_api_client_pass:
    external: true

networks:
  internal:
  traefik-public:
    external: true
  red-siu:
    external: true

Podrias hacer un git diff para ver cuales son las diferencias respecto de la config default?. Todo lo que sea informacion sensible podes talarlo, no hay problema.

Llendo a la raiz del repositorio local, y haciendo “git diff” nos arroja:

diff --git a/prod/arai/huarpe.env b/prod/arai/huarpe.env
index 454b5ae…dd2a8e5 100755
— a/prod/arai/huarpe.env
+++ b/prod/arai/huarpe.env
@@ -28,12 +28,12 @@ IDP_LEGAJO_ATTR=employeeNumber

BUNDLE_USUARIOS_UPDATE_PWD=0

BUNDLE_USUARIOS_UPDATE_FOTO=0

-# BUNDLE_DOCUMENTOS_ACTIVO=0
-# BUNDLE_DOCUMENTOS_FIRMAR_TOKEN=0
-# BUNDLE_DOCUMENTOS_FIRMAR_WEB=0
:…skipping…
diff --git a/prod/arai/huarpe.env b/prod/arai/huarpe.env
index 454b5ae…dd2a8e5 100755
— a/prod/arai/huarpe.env
+++ b/prod/arai/huarpe.env
@@ -28,12 +28,12 @@ IDP_LEGAJO_ATTR=employeeNumber

BUNDLE_USUARIOS_UPDATE_PWD=0

BUNDLE_USUARIOS_UPDATE_FOTO=0

-# BUNDLE_DOCUMENTOS_ACTIVO=0
-# BUNDLE_DOCUMENTOS_FIRMAR_TOKEN=0
-# BUNDLE_DOCUMENTOS_FIRMAR_WEB=0
-# BUNDLE_DOCUMENTOS_FIRMA_MULTIPLE=0
-# BUNDLE_DOCUMENTOS_SELLOS_ACTIVO=0
-# BUNDLE_DOCUMENTOS_SELLOS_EDITABLES=0
+BUNDLE_DOCUMENTOS_ACTIVO=0
+BUNDLE_DOCUMENTOS_FIRMAR_TOKEN=0
+BUNDLE_DOCUMENTOS_FIRMAR_WEB=0
+BUNDLE_DOCUMENTOS_FIRMA_MULTIPLE=0
+BUNDLE_DOCUMENTOS_SELLOS_ACTIVO=0
+BUNDLE_DOCUMENTOS_SELLOS_EDITABLES=0

BUNDLE_MAPUCHE_ACTIVO=1

~

Parece que el diff no se refiere al de la actualizacion en si sino a un comit posterior intermedio. Queriamos asegurarnos de apuntarle a la rama master del upstream y no la develop que es la que esta por defecto. Entre eso se ve que hicimos un commit intermedio pero no lo subimos a nuestro repo remoto de personalizaciones hasta que la actualizacion funcione, claro.

Lo otro que te solicitaria seria una captura de la definicion de la aplicacion en Arai-Usuarios para ver si me esta faltando algo aca que me pueda ayudar a reproducir el problema.

En esta actualizacion no hicimos cambios en los archivos de usuarios, pero serian 4 los que estan:

usuarios.api.env

API_URL=https://testarai.unvime.edu.ar/api-usuarios
API_LOG_LEVEL=ERROR
API_LOG_HANDLER=errorlog
API_BASIC_CLIENTES_FILE=/run/secrets/usuarios_api_users
API_BASIC_SERVIDOR=1

usuarios.env

###### CONFIG INSTITUCION ######
INSTITUCION_URL=https://testarai.unvime.edu.ar
INSTITUCION_SIGLA=UNVIME
INSTITUCION_EMAIL=admin@institucion.edu.ar

IDP_URL=https://testarai.unvime.edu.ar/idp

###### CONFIG ASSETS ######
ASSETS_DIR=/usr/local/app/resources
ASSETS_URL=https://testarai.unvime.edu.ar/resources
#ASSETS_URL_PROXY=http://url.arai-usuarios/resources
IMAGE_MAX_SIZE_APLICACION=200000
IMAGE_MAX_SIZE_USUARIO=204800


###### CONFIG DB ######
DB_HOST=******
DB_PORT=5432
DB_DBNAME=usuarios
DB_USERNAME=******
DB_PASSWORD_FILE=/run/secrets/usuarios_db_pass
DB_SCHEMA=usuarios
DB_ENCODING=LATIN1

##### CONFIG LDAP #####
LDAP_HOST=******
LDAP_PORT=389
LDAP_TLS=0
LDAP_METHOD=user
LDAP_BINDUSER=cn=admin,dc=unvime,dc=edu,dc=ar
LDAP_BINDPASS=******
LDAP_BINDPASS_FILE=/run/secrets/usuarios_ldap_admin_pass
LDAP_SEARCHBASE=dc=unvime,dc=edu,dc=ar
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=

##### CONFIG MEMCACHED #####
MEMCACHED_HOST=memcached-server
MEMCACHED_PORT=11211
MEMCACHED_USER=
MEMCACHED_PASS=

###### CONFIG GRAYLOG ######
#GRAYLOG_HOST=localhost
#GRAYLOG_PORT=12201
#GRAYLOG_PROTOCOL=udp

###### CONFIG ENVIO MAILS (SMTP) ######
MAILER_HELO=******
MAILER_HOST=******
MAILER_PORT=587
MAILER_FROM=******
MAILER_SEGURIDAD=tls
MAILER_AUTH=1
MAILER_USUARIO=******
MAILER_CLAVE=******

##### CONFIG SEGURIDAD ####
#SEGURIDAD_ALGORITMO_SALT=******
SEGURIDAD_ALGORITMO_SALT_FILE=/run/secrets/usuarios_pass_salt
SEGURIDAD_ALGORITMO_PASS=******
SEGURIDAD_LARGO_PASS=8
SEGURIDAD_INFO_PASS="La contraseña debe tener al menos 8 caracteres, entre letras mayúsculas, minúsculas, números y símbolos, no pudiendo repetir caracteres adyacentes"
SEGURIDAD_DURACION_DIAS_PASS=120
SEGURIDAD_RECAPTCHA_SITIO=******
SEGURIDAD_RECAPTCHA_CLAVE=******
SEGURIDAD_INTENTOS_ACTIVAR_RECAPTCHA=******
SEGURIDAD_REINICIAR_TIEMPO_RECAPTCHA=******
SEGURIDAD_ACTIVAR_SEGUNDO_FACTOR=******

##### CONFIG MAIL VERIFIER ####
MAIL_VERIFIER_SUBJECT="Verificaci&oacute;n de Email SIU-Arai"
MAIL_VERIFIER_FROM=******
MAIL_VERIFIER_REPLYTO=******
MAIL_VERIFIER_FROMNAME="UNViMe"
MAIL_VERIFIER_TOKEN_LIFETIME=86400

##### CONFIG SEGUNDO FACTOR AUTENTICACION ####
SECOND_FACTOR_SUBJECT="Segundo Factor de Autenticaci&oacute;n SIU-Arai"
SECOND_FACTOR_FROM=******
SECOND_FACTOR_REPLYTO=******
SECOND_FACTOR_FROMNAME="Institución"
SECOND_FACTOR_TOKEN_LIFETIME=3600

CACHE_BACKEND=memcached
VINCULACION_MAIL_PPAL=independiente

##### CONFIG MAIL RECOVERY ####
MAIL_RECOVERY_SUBJECT="Recuperar contrase&ntilde;a SIU-Arai"
MAIL_RECOVERY_FROM=******
MAIL_RECOVERY_REPLYTO=******
MAIL_RECOVERY_FROMNAME="UNViMe"
MAIL_RECOVERY_TOKEN_LIFETIME=432000

ENTORNO_PRODUCCION=1

##### CONFIG IDM #####
IDM_URL=https://testarai.unvime.edu.ar/usuarios
IDM_URL_HOST=http://localhost
IDM_URL_ALIAS=/usuarios
IDM_LOG_LEVEL=ERROR
IDM_LOG_HANDLER=errorlog
IDM_SESSION_HANDLER=memcache
IDM_SESSION_NAME=ARAI_IDM_SESSION
IDM_FORMATO_UID=simple
IDM_PERMITE_MAILS_DUPLICADOS=false

################ TOBA ####################

TOBA_USUARIO=******
TOBA_PASSWORD=******
TOBA_USUARIO_EMAIL=admin@institucion.edu.ar
TOBA_ALIAS_TOBA_EDITOR=/toba_editor
TOBA_ALIAS_NUCLEO=/toba_gestion
#TOBA_ID_DESARROLLADOR=0
TOBA_FORZAR_HTTPS=off
TOBA_SESSION_HANDLER=memcache
TOBA_SESSION_SAVE_PATH=memcached-server:11211


usuarios.idp.env

##### CONFIG IDP #####
## Deberá setearse si el sistema corre detrás de un proxy reverso
#IDP_URL_PROXY=https://url.arai-usuarios/idp
IDP_URL_PERFIL=https://testarai.unvime.edu.ar/perfil
IDP_URL_ERROR=https://url.error
IDP_KEY_FILE=******
IDP_CERT_FILE=******
IDP_LOG_LEVEL=ERROR
IDP_LOG_HANDLER=errorlog
IDP_SESSION_HANDLER=memcache
IDP_SESSION_NAME=ARAI_IDP_SESSION
#IDP_CLAVE_CONSOLA=
IDP_CLAVE_CONSOLA_FILE=/run/secrets/usuarios_idp_simplesaml_admin
IDP_MODO_PRODUCCION=true


usuarios.yml

version: '3.8'
services:
  memcached-server:
    image: bitnami/memcached:1.6.6
    #environment: 
    #   MEMCACHED_CACHE_SIZE: 64 # size en megas
    networks:
      internal:
    deploy:
      resources:
        limits:
          cpus: '0.2'
          memory: 70M
        reservations:
          cpus: '0.05'
          memory: 64M
      mode: replicated
      replicas: 1
      restart_policy:
        condition: any
        delay: 10s
        max_attempts: 4
        window: 120s
  idp:
    image: hub.siu.edu.ar:5005/siu/expedientes/arai-usuarios/idp:v3.1.9
    env_file: 
      - ./usuarios.env
      - ./usuarios.idp.env
    secrets:
      - usuarios_db_pass
      - usuarios_ldap_admin_pass
      - usuarios_pass_salt
      - usuarios_idp_simplesaml_admin
      - source: usuarios_idp_saml_key
        target: ******
      - source: usuarios_idp_oidc_key
        target: ******
    configs:
      - source: usuarios_idp_saml_cert
        target: ******
      - source: usuarios_idp_oidc_cert
        target: ******
    volumes:
      - usuarios_assets:/usr/local/app/resources
      - ../volumenes/idp/logo.png:/usr/local/app/idp/simplesamlphp-module-arai/www/assets/img/logo_cin.png
      - ../volumenes/idp/login.twig:/usr/local/app/idp/simplesamlphp-module-arai/templates/login.twig
      - ../volumenes/idp/_logo.twig:/usr/local/app/idp/simplesamlphp-module-arai/templates/_logo.twig
      - ../volumenes/idp/arai.po:/usr/local/app/idp/simplesamlphp-module-arai/locales/es/LC_MESSAGES/arai.po
    healthcheck:
      test: ["CMD-SHELL", "(nc -z localhost 80) || exit 1"]
      interval: 30s
      timeout: 5s
      start_period: 30s
      retries: 5
    deploy:
      mode: replicated
      resources:
        limits:
          cpus: '0.5'
          memory: 128M
        reservations:
          cpus: '0.1'
          memory: 25M
      replicas: 1
      restart_policy:
        condition: any
        delay: 10s
        max_attempts: 4
        window: 120s
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.idp.entrypoints=web-secured"
        - "traefik.http.routers.idp.rule=Host(`testarai.unvime.edu.ar`) && PathPrefix(`/idp`)"
        - "traefik.http.routers.idp.tls=true"
        - "traefik.http.routers.idp.service=idp"
        - "traefik.http.services.idp.loadbalancer.server.port=80"
        - "traefik.http.routers.idp.middlewares=security-headers@file"
        - "traefik.http.routers.idp-resources.entrypoints=web-secured"
        - "traefik.http.routers.idp-resources.rule=Host(`testarai.unvime.edu.ar`) && PathPrefix(`/resources`)"
        - "traefik.http.routers.idp-resources.tls=true"
        - "traefik.http.routers.idp-resources.service=idp-resources"
        - "traefik.http.services.idp-resources.loadbalancer.server.port=80"
    networks:
      internal:
      traefik-public:
      red-siu:

  api:
    image: hub.siu.edu.ar:5005/siu/expedientes/arai-usuarios/api:v3.1.9
    env_file: 
      - ./usuarios.env
      - ./usuarios.api.env
    secrets:
      - usuarios_db_pass
      - usuarios_ldap_admin_pass
      - usuarios_pass_salt
      - usuarios_api_users
    volumes:
      - usuarios_assets:/usr/local/app/resources
    healthcheck:
      test: ["CMD-SHELL", "(nc -z localhost 80) || exit 1"]
      interval: 30s
      timeout: 5s
      start_period: 30s
      retries: 5
    deploy:
      mode: replicated
      resources:
        limits:
          cpus: '0.25'
          memory: 128M
        reservations:
          cpus: '0.1'
          memory: 10M
      replicas: 1
      restart_policy:
        condition: any
        delay: 10s
        max_attempts: 4
        window: 120s
      labels:
         - "traefik.enable=true"
         - "traefik.http.routers.api-usuarios.entrypoints=web-secured"
         - "traefik.http.routers.api-usuarios.rule=Host(`testarai.unvime.edu.ar`) && PathPrefix(`/api-usuarios`)"
         - "traefik.http.routers.api-usuarios.tls=true"
         - "traefik.http.services.api-usuarios.loadbalancer.server.port=80"
         - "traefik.http.middlewares.api-usuarios-strip.stripprefix.prefixes=/api-usuarios"
         - "traefik.http.middlewares.api-usuarios-add.addprefix.prefix=/api"
         - "traefik.http.routers.api-usuarios.middlewares=api-usuarios-strip,api-usuarios-add,security-headers@file"
    networks:
      traefik-public:
      red-siu:
        aliases:
          - usuarios-api

  idm:
    image: hub.siu.edu.ar:5005/siu/expedientes/arai-usuarios/idm:v3.1.9
    env_file: 
      - ./usuarios.env
    configs:
      - source: usuarios_idp_saml_cert
        target: /usr/local/app/idm/instalacion/idp.crt
    secrets:
      - usuarios_db_pass
      - usuarios_ldap_admin_pass
      - usuarios_pass_salt
      - usuarios_idp_simplesaml_admin
    volumes:
      - usuarios_assets:/usr/local/app/resources
    healthcheck:
      #test: ["CMD-SHELL", "(nc -z localhost 80 && nc -z db-siu 5432) || exit 1"]
      test: ["CMD-SHELL", "(nc -z localhost 80) || exit 1"]
      interval: 30s
      timeout: 5s
      start_period: 30s
      retries: 5
    deploy:
      mode: replicated
      resources:
        limits:
          cpus: '0.25'
          memory: 128M
        reservations:
          cpus: '0.1'
          memory: 25M
      replicas: 1
      restart_policy:
        condition: any
        delay: 10s
        max_attempts: 4
        window: 120s
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.usuarios.entrypoints=web-secured"
        - "traefik.http.routers.usuarios.rule=Host(`testarai.unvime.edu.ar`) && PathPrefix(`/usuarios`)"
        - "traefik.http.routers.usuarios.tls=true"
        - "traefik.http.routers.usuarios.service=usuarios"
        - "traefik.http.services.usuarios.loadbalancer.server.port=80"
        - "traefik.http.routers.usuarios_toba.entrypoints=web-secured"
        - "traefik.http.routers.usuarios_toba.rule=Host(`testarai.unvime.edu.ar`) && PathPrefix(`/toba_gestion`)"
        - "traefik.http.routers.usuarios_toba.tls=true"
        - "traefik.http.routers.usuarios_toba.service=usuarios_toba"
        - "traefik.http.services.usuarios_toba.loadbalancer.server.port=80"
        - "traefik.http.routers.usuarios.middlewares=security-headers@file"
        - "traefik.http.routers.usuarios_toba.middlewares=security-headers@file"
    networks:
      internal:
      traefik-public:
      red-siu:

configs:
  usuarios_idp_saml_cert:
    external: true
  usuarios_idp_oidc_cert:
    external: true

volumes:
  usuarios_assets:
# usuarios_assets: # ejemplo con nfs
#   driver: local
#   driver_opts:
#     type: nfs
#     o: nfsvers=4,addr=170.210.46.29,rw
#     device: ":/var/nfsroot/usuarios"

secrets:
  usuarios_api_users:
    external: true
  usuarios_idp_oidc_key:
    external: true
  usuarios_idp_saml_key:
    external: true
  usuarios_db_pass:
    external: true
  usuarios_ldap_admin_pass:
    external: true
  usuarios_pass_salt:
    external: true
  usuarios_idp_simplesaml_admin:
    external: true

networks:
  internal:
  traefik-public:
    external: true
  red-siu:
    external: true

Cabe mencionar que no usamos los mecanismos de login unificado, sino que agregamos usuarios traidos desde mapuche, ingresandolos mediante la api usuarios para que puedan ingresar a descargar su recibo de sueldo. Por lo que la implementacion es mas sencilla y hay secciones de configuracion que no estan en uso.

Hola Erwin,

Esta bien, no hay drama… solo queria ver si existia algun parametro extra en el .env que me estuviera faltando, en gral nosotros solo dejamos aquellos que modifican los valores por defecto.

Perdon, probablente no me exprese bien… solo queria ver la definicion en el ABM de usuarios por si habia alguna restriccion sobre grupos y/o algun detalle en el conector SAML (chequea que no queden caracteres invisibles, suele ser una patada eso).

De todas formas gracias por los archivos, aproveche y mire un poco que no faltara nada. Respecto del huarpe.yml , quizas las personalizaciones las puedan incluir como configs en lugar de montarlas como volumenes (salvo que tengan modificaciones de forma seguida).

A ver si te entendi bien, agregan usuarios puntuales via la API a Arai-Usuarios (asumo que con el dato de legajo cargado, etc) para que puedan entrar a Huarpe a descargar el recibo.

Osea, Mapuche tiene login propio y Huarpe usaria Arai-Usuarios… es correcto esto?

Hay algun detalle que se nos escapa, ya que no logro reproducir el error… lo unico que me queda seria copiar directamente los archivos que subiste y generarme una entrada en el archivo hosts para intentar reproducirlo

Saludos