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
hostes el nombre de host del registro docker, por ejemploregistry.gitlab.com;useres el id del usuario o de la organización, por ejemplooneentry;repoes el nombre del repositorio, por ejemplomy-module;versiones 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 (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
Suspende el módulo. Detiene el proceso, pero los datos se conservan.
Reanuda el módulo. Inicia el proceso.
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 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
: 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á.