Disabilitazione email durante ripristino backup

È ottimo che l’invio di email venga sospeso durante il ripristino di un backup, insieme a un avviso sul sito appropriato per ricordare all’amministratore di riattivarlo.

Dovrebbe/potrebbe essere esteso anche per sovrascrivere il polling POP, nel caso in cui fosse configurato e iniziasse a consumare i messaggi?

Ciò sarebbe utile quando le impostazioni “pop3 polling enabled” e “pop3 polling delete from server” sono entrambe attivate.

4 Mi Piace

Sì, concordo pienamente.

Sarebbe fantastico avere una modalità “non contattare alcun servizio esterno” che disabiliti tutte le azioni esterne che hanno un effetto permanente sul mondo al di fuori del forum, come le email in uscita (tranne quelle davvero essenziali), l’eliminazione dei messaggi POP3 dal server e l’attivazione di webhook.

5 Mi Piace

Sì – una sorta di ‘modalità isolamento’ che ti permette di eseguire un ripristino di test di un backup (come è buona norma fare di tanto in tanto) senza alcun timore di influire sull’istanza in esecuzione, oppure, durante la migrazione, di attivare la nuova istanza e verificarla in sicurezza prima di effettuare il passaggio (presumendo che il sito di origine sia in modalità sola lettura o offline, ecc…).

2 Mi Piace

Buon punto, hai qualche idea su questo @gerhard?

2 Mi Piace

Concordo. Una “modalità isolamento” sarebbe una funzionalità utile. Non solo dopo i ripristini.

Per ora, qualcosa di simile potrebbe essere realizzato con un semplice plugin. Qualcosa come il seguente dovrebbe funzionare:

# name: isolation-mode
# about: Abilita la modalità isolamento dopo il ripristino di un backup.
# version: 1.0

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

In alternativa, potresti anche utilizzare il comando CLI discourse restore e aggiornare le impostazioni del sito e altro in seguito con rails runner.

3 Mi Piace

Questo è ancora il miglior consiglio?

Sì, non è cambiato nulla. Non esiste una funzionalità di “modalità di isolamento”, quindi disabilitare più dell’email in uscita non può essere fatto al ripristino perché non c’è modo di notificare gli amministratori al riguardo e dare loro un’opzione semplice per riattivare tutto.

1 Mi Piace

L’ho aggiunto al mio repository (accreditando @gerhard ovviamente!).

Cose che ho aggiunto:

  • disable emails: sì
  • login required: vero

Ed ecco fatto, al completamento di un ripristino del backup:

Questo è davvero un salvavita per ospitare versioni di staging sensibili con email di utenti reali…

Grazie ancora!

1 Mi Piace