¿Arquitectura de autoactualización?

¿Hay algo escrito sobre cómo funciona la función de actualización automática de Discourse? Si no, ¿alguna pista sobre dónde buscar en el código?

¿Es un modelo adecuado para que otras aplicaciones Rails lo sigan? Si no, ¿hay patrones mejores por ahí? No he encontrado ninguno.

¡Gracias por considerarlo!

Es un plugin de Discourse autocontenido y se encuentra en GitHub - discourse/docker_manager: Plugin for use with discourse docker image · GitHub. La magia ocurre principalmente en docker_manager/lib/docker_manager/upgrader.rb at main · discourse/docker_manager · GitHub.

Es muy amigable para el usuario y tiene sentido para Discourse, ya que intentamos ocultar la complejidad de ejecutar una aplicación web moderna en producción, permitiendo que usuarios no técnicos puedan actualizar sus instancias cuando sea necesario.

Además, hay miles de instancias en funcionamiento y debemos tomar medidas para minimizar la carga de soporte. Deberías estar familiarizado con proyectos de código abierto que tienen miles de problemas abiertos. No queremos eso.