Архитектура с самосовершенствованием?

Есть ли какая-либо документация о том, как работает функция автоматического обновления в Discourse? Если нет, можете ли вы указать, где в коде стоит искать?

Является ли это подходящей моделью для других приложений на Rails? Если нет, существуют ли более удачные паттерны? Я пока не встречал ничего подобного.

Спасибо за внимание!

Это автономный плагин для Discourse, и он находится по адресу GitHub - discourse/docker_manager: Plugin for use with discourse docker image · GitHub. Основная «магия» происходит здесь: docker_manager/lib/docker_manager/upgrader.rb at main · discourse/docker_manager · GitHub.

Он очень удобен для пользователей и логичен для Discourse, так как мы стремимся скрыть сложность запуска современного веб-приложения в продакшене, позволяя нетехническим пользователям обновлять свои экземпляры при необходимости.

Кроме того, существуют тысячи таких экземпляров, и нам необходимо предпринять шаги для минимизации нагрузки на службу поддержки. Вы, вероятно, знакомы с проектами с открытым исходным кодом, у которых тысячи открытых задач. Мы не хотим этого.