自己アップグレード型アーキテクチャ?

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 にとっては理にかなっています。私たちは、本番環境での現代の Web アプリの複雑さを隠蔽し、非技術的なユーザーが必要な時にインスタンスを更新できるようにすることに努めています。

また、世界中に数千ものインスタンスが存在しており、サポートの負担を最小限に抑えるための対策が必要です。数千の未解決課題を抱えるオープンソースプロジェクトの状況はご存知でしょう。私たちはそのような事態を望んでいません。