Ir al contenido

Apagar, iniciar y aislar una app

La zona de peligro de la pestaña Settings de una app tiene dos acciones que actúan a la vez sobre todo lo que hay en un ámbito: Shut down detiene lo que está en ejecución y el Kill switch aísla la app para que no se pueda acceder a nada de ella. Ambas restauran exactamente lo que cambiaron. El ámbito es la app completa o un entorno.

Las dos requieren el rol Operator en la app o en el entorno (apps:operate).

Shut down abre un diálogo con el ámbito y lo que va a cambiar, contado en tiempo real:

  • los contenedores, deployments y proyectos Compose en ejecución se detienen;
  • las bases de datos gestionadas y el almacenamiento gestionado se pausan; sus datos se conservan;
  • las Routes y las Routes de Pages muestran la página de mantenimiento.

Los recursos siguen siendo editables mientras la app está apagada. La app y sus entornos muestran Stopped.

Start devuelve solo lo que cambió Shut down y que sigue en el estado en que lo dejó: un contenedor que alguien inició a mano entretanto se deja como está, y un recurso que ya estaba detenido antes sigue detenido. Las Routes vuelven a su propio estado de mantenimiento.

El kill switch es para incidentes de seguridad: corta todo el tráfico hacia la app y desde ella, y conserva cada recurso y sus datos tal como están. Isolate app abre un diálogo con el ámbito y lo que va a cambiar. Escribe el nombre de la app para confirmar.

Mientras está aislada:

  • todas las Routes del ámbito, y todas las Routes fuera de la app que reenvían a una de sus cargas de trabajo, muestran la página de mantenimiento; ningún código de acceso de mantenimiento funciona;
  • se cortan los container links, los enlaces a bases de datos y almacenamiento, y los Secure Links de las cargas de trabajo de la app;
  • los contenedores y los servicios de Compose pierden el acceso a la red; un contenedor en la red del host se detiene en su lugar;
  • se cierran los puertos directos de bases de datos y almacenamiento;
  • los datos se quedan como están.

La app muestra Isolated y cada uno de sus recursos muestra un aviso en su propia página. Los recursos aislados quedan congelados: se rechaza recrear, actualizar, cambiar variables de entorno o redes, desplegar, aplicar Compose, migrar, crear enlaces, editar Routes y mover recursos dentro o fuera del entorno. Detener, iniciar, reiniciar, los logs, la consola y eliminar siguen funcionando.

Turn off libera el kill switch y restaura todo a su estado anterior, elemento por elemento: las mismas redes con las mismas direcciones y alias, los mismos enlaces, Routes y puertos. Un recurso eliminado entretanto se omite. Un nodo que esté sin conexión durante la liberación se restaura cuando vuelve a conectarse. Si un paso falla, el aviso lo indica y Opfield sigue reintentándolo.

El aislamiento de red de los contenedores requiere en el nodo un daemon de Docker de la versión 2.12 o posterior. Con un daemon más antiguo, ese elemento falla con una petición de actualizar el nodo, y el resto del kill switch se aplica igualmente.

  • Un ámbito aislado no se puede apagar; desactiva antes el kill switch.
  • Una app o un entorno no se pueden eliminar mientras están apagados o aislados.
  • El apagado, el inicio, el aislamiento y la liberación quedan registrados en el registro de auditoría y en la pestaña Activity de la app.
  • A través de la API y de MCP: POST /api/apps/{id}/shutdown, /start, /isolation y DELETE /api/apps/{id}/isolation; en MCP, manage_app_incident con shutdown, start, isolate, release y status.