Skip to content

Soporte de backend Sodium para sincronzación

Para realizar la transición a Haliteless necesitamos soportar el manejo de múltiples backends de AraiCrypto (halite, sodium, etc.) y con ello planificar la migración para operar bajo PHP >7.1.

Algunas afirmaciones:

  • Halite 1.6 no nos permite soportar php 7.2
  • Cada cliente de la plataforma que usa arai-cli y ejecuta add/sync requiere hoy Halite y php <7.2.
  • Las keys de sincronización no pueden ser usadas por diferentes backends ni diferentes versiones del mismo halite. Contienen diferentes tamaño y datos de versión.
  • Si bien Toba no depende de arai-cli en forma directa, el Hook lo hemos dejado dentro y sí representa una dependencia.

Algunas ideas:

  • Todos los clientes de la plataforma en simultáneo deben tener soporte a un backend para poder usarlo. Obliga a que hoy se saque la v2.6 de arai-cli y se espere a D/P/M/G que tengan versión en calle que lo soporte para cambiar por defecto a dicho backend en arai-cli. Esperable para marzo/19.
  • En la v3 de arai-cli puede eliminarse soporte a Halite y no sería caótico si interactúa con un v2.6, considerando que hay una opción de actualizar backend. Esperable para junio/19.
  • Sólo para SSO no parece necesario que se tenga la clave de sincronización ni que se requiera Halite/Sodium. Esperable para marzo/19.
  • Valdría la pena mover el hook de Toba hacia arai-cli?

Algunas tareas:

  • Integrar backend Sodium pero dejar por defecto Halite para v2.6. !13 (merged)
    • registrar en arai.lock el backend por defecto en uso.
  • Agregar comando arai:actualizar-backend que realice el cambio de backend.
    • regenerar la key de sincronización
    • registrar en arai.lock el backend en uso.
  • En comando status mostrar info de backend !13 (merged)
    • mostrar backends disponibles en dicha versión de arai-cli
    • se puede mostrar si un backend es soportado o no (pues depende de PHP, extensiones, librerías)
  • Agregar opción --ignore-api para hacer opcional la configuración de las api y por ende el uso de claves de sincronización !14 (merged)
    • Hook: si no está configurada la clave de sincronización, no configura la(s) api REST
    • Hook: debería seguir teniendo al menos soporte de SSO, debe ser posible hacer add/sync
Edited by Sergio Fabián Vier