Saltar al contenido principal

Módulos personalizados

Con la API para desarrolladores puedes desplegar tu propio módulo con la funcionalidad que necesites.

Desarrollo​

Para desarrollar el módulo, usa la plantilla https://github.com/OneEntry/module-example y sigue las instrucciones de https://github.com/OneEntry/custom-module-deployment-guide.

Compilación​

  • Crea un token de proyecto nuevo con permisos read-registry. Se recomienda que el token no caduque.
  • Crea una etiqueta nueva en git cada vez que publiques una versión nueva del módulo.
  • Espera a que termine el pipeline. La imagen docker del módulo se subirá al registro y quedará disponible para el despliegue.

Despliegue​

Ve a la configuración, abre la pestaña Modules y desplázate hasta la tarjeta Create New Module.

  • Indica el nombre (Name) y el marcador (Marker) del módulo.

  • En el bloque Docker image, en el campo Image URL, indica la ruta a la imagen docker que compilaste, con el formato host/user/repo:version.

    Donde host es el nombre de host del registro docker, por ejemplo registry.gitlab.com;

    user es el id del usuario o de la organización, por ejemplo oneentry;

    repo es el nombre del repositorio, por ejemplo my-module;

    version es el nombre de la etiqueta (la versión del módulo).

    Ejemplo completo: registry.gitlab.com/oneentry/my-module:v1.0.0

  • En el campo Registry host, indica el host del registro docker. Coincide con la parte host de la ruta a la imagen, por ejemplo registry.gitlab.com.

  • En los campos Token ID y Token, indica el nombre del token (el que le diste al crearlo) y el propio token (normalmente empieza por glpat).

  • Debajo de los campos Token ID y Token, haz clic en Add e indica las variables de entorno que necesita el módulo (puedes cambiarlas más tarde).

Haz clic en Create.

El módulo creado aparecerá en la tabla. Para desplegarlo, haz clic en Deploy (el despliegue tarda un tiempo).

Estados del contenedor​

  • Not deployed: el módulo está creado, pero nunca se ha desplegado.
  • Deploying: el módulo se está desplegando.
  • Running: el módulo está en funcionamiento.
  • Suspended: el módulo está desplegado, pero no en ejecución.
  • Error: la última acción con el módulo terminó con un error. Consulta la sección «Depuración de errores».

Mientras se ejecuta una acción con el módulo, la columna de estado muestra su progreso: Deploying, Suspending, Resuming o Deleting. Si no se puede obtener el estado, se muestra Unknown. Los estados se actualizan automáticamente.

Acciones con el módulo​

  • Suspend Suspende el módulo. Detiene el proceso, pero los datos se conservan.
  • Resume Reanuda el módulo. Inicia el proceso.
  • Eliminar Elimina el módulo. Detiene el proceso y elimina el contenedor y los datos asociados.

Depuración de errores​

Si el módulo no se pudo desplegar o su proceso termina una y otra vez, el módulo pasa al estado Error y en su fila aparece el ícono Error con el aviso «The last action with this module was unsuccessful». En un módulo con estado Error, igual que en uno sin desplegar, vuelve a estar disponible el botón de despliegue Deploy: corrige la causa y vuelve a desplegar el módulo.

Posibles problemas​

  • La imagen docker está mal configurada.
  • El token no es válido o es incorrecto.
  • El proceso termina. El proceso interno no debe terminar mientras el módulo esté activo.

Logs​

Otros problemas con el módulo puedes depurarlos con los logs que aparecen en la configuración del módulo.

Actualización/edición del módulo​

Para desplegar una versión nueva del módulo o cambiar las variables de entorno, actualiza la etiqueta y/o las variables en la configuración. El proceso se reiniciará.