J’ai déployé Discourse dans un cluster EKS et j’utilise les rôles IAM pour les comptes de service afin d’autoriser l’accès à 2 buckets S3 - un pour les ressources et un pour les sauvegardes. L’indicateur s3_use_iam_profile est défini sur true.
Mes paramètres sont configurés de manière à ce que la sauvegarde soit quotidienne et qu’elle soit téléchargée dans le bucket de sauvegarde S3. Cependant, je vois la sauvegarde s’exécuter dans les logs, mais lorsqu’elle se termine et devrait être téléchargée sur S3, elle saute simplement cette étape comme si elle n’avait pas été configurée.
J’ai trouvé ce vieux post - Discourse does not support service account and IAM role for S3 backup - indiquant que l’utilisation d’IRSA ou d’un rôle IAM ne fonctionne pas. Maintenant, si j’exécute la sauvegarde manuellement via l’interface d’administration, elle se termine et se télécharge sur S3. Y a-t-il autre chose que je dois configurer pour que cela se produise automatiquement ?
Je ne sais pas. Voici ce que je vérifierais ensuite.
Votre EKS pourrait-il être arrêté avant que la sauvegarde ne soit compressée et envoyée à S3 ? Peut-être un manque d’espace ou quelque chose comme ça ?
Tout semble correct. Les journaux du pod montrent que la sauvegarde automatique se termine avec succès et se termine correctement. Il semble que la vérification de l’activation de la fonction distante renvoie incorrectement false.
1 - Lorsque j’exécute la sauvegarde manuellement dans l’interface d’administration, elle se termine avec succès et le fichier gzip compressé est téléchargé sur S3.
2- Il semble que la ligne de code ci-dessus ait changé depuis la version 3.0.1 - la ligne est passée de return unless @store.remote? à return unless store.remote? - mon Ruby n’est pas excellent, mais Google me dit qu’une @variable est une variable d’instance de self, donc y a-t-il un autre paramètre que je dois faire pour que cela fonctionne avec la version 3.0.1 ou dois-je passer à la version 3.0.2 ?