Ho Discourse distribuito in un cluster EKS e utilizzo i Ruoli IAM per gli Account di Servizio per consentire l’accesso a 2 bucket S3: uno per gli asset e uno per i backup. Il flag s3_use_iam_profile è impostato su true.
Le mie impostazioni sono configurate in modo che il backup sia giornaliero e debba caricarsi nel bucket di backup S3. Tuttavia, vedo il backup in esecuzione nei log, ma quando finisce e dovrebbe caricarsi su S3, salta semplicemente quel passaggio come se non fosse stato impostato.
Ho trovato questo vecchio post - Discourse does not support service account and IAM role for S3 backup - secondo cui l’utilizzo di IRSA o di un profilo IAM non funziona. Ora, se eseguo il backup manualmente tramite l’interfaccia utente di amministrazione, questo viene completato e caricato su S3, quindi c’è qualcos’altro che devo impostare per far sì che ciò accada automaticamente?
Potrebbe essere che il tuo EKS venga terminato prima che il backup venga compresso e inviato a S3? Forse esaurimento dello spazio o qualcosa del genere?
Tutto sembra a posto. I log del pod mostrano che il backup automatico viene completato con successo e termina correttamente. Sembra che il controllo sull’abilitazione del remoto stia restituendo false in modo errato.
1 - Quando eseguo il backup manualmente nell’interfaccia di amministrazione, viene completato con successo e il file gzip compresso viene caricato su S3.
2 - Sembra che la riga di codice sopra sia cambiata rispetto alla v3.0.1: la riga è passata da return unless @store.remote? a return unless store.remote?. Il mio Ruby non è eccezionale, ma Google mi dice che una @variabile è una variabile di istanza di self, quindi c’è un’altra impostazione che devo fare per far funzionare questo con la v3.0.1 o dovrei aggiornare alla v3.0.2?