Я развернул Discourse в кластере EKS и использую роли IAM для сервисных аккаунтов (IRSA) для предоставления доступа к двум бакетам S3 — одному для ассетов и другому для резервных копий. Флаг s3_use_iam_profile установлен в значение true.
Мои настройки сконфигурированы так, что резервное копирование выполняется ежедневно и должно загружаться в бакет S3 для резервных копий. Однако в логах я вижу, что процесс резервного копирования запускается, но после завершения, когда должно происходить загрузка в S3, этот шаг просто пропускается, как будто настройка не применена.
Я нашел старый пост — Discourse does not support service account and IAM role for S3 backup — в котором утверждается, что использование IRSA или профиля IAM не работает. Если я запускаю резервное копирование вручную через административный интерфейс, оно завершается успешно и загружается в S3. Не подскажете, что еще нужно настроить, чтобы это происходило автоматически?
Всё выглядит в порядке. Логи пода показывают, что автоматическое резервное копирование завершилось успешно и прошло нормально. Похоже, проверка на включённость удалённого хранилища ошибочно возвращает false.
1 — Когда я запускаю резервное копирование вручную через админ-интерфейс, оно завершается успешно, и сжатый gzip-файл загружается в S3.
2 — Похоже, строка кода выше изменилась с момента выпуска версии 3.0.1: она изменилась с return unless @store.remote? на return unless store.remote?. Мой уровень знания Ruby не очень высок, но Google подсказывает, что @переменная — это переменная экземпляра self. Нужно ли мне выполнить какие-то дополнительные настройки, чтобы это работало с версией 3.0.1, или мне следует обновиться до версии 3.0.2?