Desactivar email al restaurar backup

Es excelente que el envío de correos electrónicos se suspenda cuando se restaura una copia de seguridad, junto con un aviso adecuado en el sitio para recordar al administrador que lo vuelva a activar.

¿Debería o podría esto extenderse para anular también la consulta POP, en caso de que estuviera configurada y comenzara a consumir mensajes?

Esto sería útil cuando las configuraciones “consulta POP3 habilitada” y “consulta POP3 eliminar del servidor” están ambas activadas.

4 Me gusta

Sí, me sumo a eso.

Sería genial que existiera un modo “no contactar con ningún servicio externo” que desactive todas las acciones externas que tengan un efecto permanente en el mundo fuera del foro, como los correos salientes (excepto los realmente esenciales), la eliminación de mensajes del servidor POP3 y la activación de webhooks.

5 Me gusta

Sí: un modo de ‘aislamiento’ para que puedas realizar una restauración de prueba de una copia de seguridad (algo que es buena práctica hacer de vez en cuando) sin preocuparte de afectar la instancia en ejecución, o durante una migración, para levantar la nueva instancia y verificarla con seguridad antes de hacer el cambio (suponiendo que el sitio de origen esté en modo solo lectura o fuera de servicio, etc.).

2 Me gusta

Buen punto, ¿qué opinas de esto @gerhard?

2 Me gusta

Estoy de acuerdo. Un “modo de aislamiento” sería una característica útil. No solo después de las restauraciones.

Por ahora, algo similar podría hacerse con un plugin sencillo. Algo como lo siguiente debería funcionar:

# name: isolation-mode
# about: Habilita el modo de aislamiento después de restaurar una copia de seguridad.
# version: 1.0

after_initialize do
  on(:site_settings_restored) do
    SiteSetting.pop3_polling_enabled = false
    WebHook.update_all(active: false)
  end
end

Como alternativa, también podrías usar el comando CLI discourse restore y actualizar la configuración del sitio y demás después con rails runner.

3 Me gusta

¿Sigue siendo este el mejor consejo?

Sí, no cambió nada. No hay una función de “modo de aislamiento”, por lo que deshabilitar más que el correo saliente no se puede hacer en la restauración porque no hay forma de notificar a los administradores al respecto y darles una opción fácil para volver a activar todo.

1 me gusta

Lo he añadido a mi propio repositorio (dando crédito a @gerhard, por supuesto).

Cosas que añadí:

  • disable emails: sí
  • login required: true

Y voilà, al completar una restauración de copia de seguridad:

Esto es realmente un salvavidas para alojar versiones de staging sensibles con correos electrónicos reales de usuarios…

¡Gracias de nuevo!

1 me gusta