
Sesenta contenedores en un servidor
Un servidor bare-metal ejecuta decenas a cientos de contenedores Hoody. KSM y dedup BTRFS hacen que el costo marginal sea casi cero.
Anuncio de embarque. El trabajo de informe diario está fijado para las 7 UTC, pero el destinatario está en Tokio y la hora está mal. Abres la URL del crontab en el móvil, tocas la fila, cambias dos campos, pulsas Guardar. El PATCH pasa. El trabajo se dispara esta noche con el nuevo horario. Sin sesión SSH, sin jump box, sin portátil.
El servicio de cron habla JSON sobre HTTPS. El navegador del móvil envía un PATCH al UUID de la entrada con el nuevo campo schedule. El crontab del sistema lo re-inyecta el servicio. El próximo disparo está en el cuerpo de la respuesta.
El PATCH solo lleva el campo que cambió. El servicio lo fusiona en la entrada existente, recalcula next_run y re-inyecta la línea en el crontab del sistema. Sin sesión SSH, sin jump host, sin portátil.
Toda la edición cabe entre la llamada de embarque y la cola prioritaria. Abre la URL. Cambia el campo. Camina al avión.
El servicio de cron tiene su propia URL — cron.containers.hoody.com/users/me/crontab. La misma página se abre en cualquier navegador, incluido el del móvil. La autenticación es la URL. Sin bastion, sin prompt de AnyConnect, sin ritual de llave-en-portátil.
Cada entrada gestionada es un objeto JSON con schedule, command, comment, enabled. Tocas la fila, el campo schedule se vuelve editable, sustituyes 0 7 * * * por 30 4 * * 1-5. Los demás campos no se tocan.
Guardar dispara un PATCH a /users/me/entries/[id]. La respuesta dice 200 OK y devuelve el nuevo next_run. El crontab del sistema se actualiza en menos de un segundo. Cierras la pestaña y caminas.
Hoody Cron expone un pequeño CRUD sobre el crontab. Cada entrada gestionada tiene un UUID; cada entrada se puede parchear de forma aislada. Abajo están los cuatro endpoints que el móvil usa para editar, silenciar, listar o borrar un trabajo.
Endpoints según el servicio Hoody Cron. Las rutas son relativas a https://PROJECT-CONTAINER-cron-1.SERVER.containers.hoody.com.
Los números que importan a una persona de pie en una puerta con una pantalla de 6 pulgadas.
schedule, command, comment, enabled, expires_at. Cada uno se puede enviar solo. Los demás campos quedan intactos, así que el comentario que escribiste ayer a las 9 sobrevive a la edición del aeropuerto.
Un PATCH desde el móvil. Una respuesta 200 con el nuevo next_run. El crontab del sistema lo re-inyecta el servicio en la misma llamada — sin segunda petición, sin polling.
Sin SSH, sin bastion, sin AnyConnect. El crontab es una URL y la autenticación es la URL. La llave hardware de tu portátil se queda en la mochila.
Tu crontab es una URL, así que editarlo es una URL.
Cuando el horario es alcanzable desde un navegador, el lugar donde estás de pie deja de importar. La puerta de embarque es una oficina perfectamente válida. El móvil es una terminal perfectamente válida. El PATCH es el cambio.
La mayoría de estos solo existen porque el crontab no era alcanzable desde un móvil. Cuando el horario es una URL, los rituales para llegar al horario se van con él.
Estuviste de pie en la puerta y cambiaste cuándo se dispara el trabajo esta noche.