E-Mails bei Backup-Wiederherstellung deaktivieren

It’s great that outgoing email gets suspended when a backup is restored, along with a suitable site notice to remind the admin to switch it on.

Should / could this be extended to override POP polling too, incase that was setup and starts consuming messages?

This would be helpful where the settings “pop3 polling enabled” and “pop3 polling delete from server” are both set.

4 „Gefällt mir“

Yes, I second that.

It would be great if there was a “don’t reach out to any external service” mode that disables all external actions that have a permanent effect on the world outside the forum, like outgoing emails (except for those that are really essential), POP3 delete from server and triggering webhooks.

5 „Gefällt mir“

Yep - a sort of ‘isolation mode’ so that you can do a test restore of a backup (as is good practice from time to time) without any worry of impacting the running instance, or during migration you can stand up the new instance and check it over safely before making the switch (presuming the source site is in read-only mode or down etc…).

2 „Gefällt mir“

Good point, any thoughts on this @gerhard?

2 „Gefällt mir“

I agree. An “isolation mode” would be a useful feature. Not just after restores.

For now, something similar could be done with a simple plugin. Something like the following should work:

# name: isolation-mode
# about: Enables isolation mode after restoring backup.
# version: 1.0

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

As an alternative, you could also use the discourse restore CLI command and update site settings and whatnot afterwards with the rails runner.

3 „Gefällt mir“

Ist das immer noch der beste Rat?

Ja, es hat sich nichts geändert. Es gibt keine Funktion für den „Isolationsmodus“, daher kann beim Wiederherstellen nicht mehr als der ausgehende E-Mail-Verkehr deaktiviert werden, da es keine Möglichkeit gibt, Administratoren darüber zu informieren und ihnen eine einfache Option zum erneuten Aktivieren aller Funktionen zu geben.

1 „Gefällt mir“

Ich habe dies zu meinem eigenen Repository hinzugefügt (natürlich unter Nennung von @gerhard!).

Hinzugefügte Dinge:

  • disable emails: ja
  • login required: true

Und siehe da, nach Abschluss einer Backup-Wiederherstellung:

Das ist wirklich ein Lebensretter für das Hosten sensibler Staging-Versionen mit echten Benutzer-E-Mails …

Nochmals vielen Dank!

1 „Gefällt mir“