En un sitio donde las copias de seguridad y las cargas a los buckets de Google funcionaban, la página de copias de seguridad ahora indica:
No se pudo acceder al almacenamiento de copias de seguridad: Un encabezado o consulta proporcionado solicitó una función que no está implementada.
Pensé que podría ser un problema de permisos del bucket (pero eso no tenía mucho sentido porque la misma configuración funcionaba hace un par de semanas), pero al releer ese mensaje, suena como si Discourse estuviera intentando hacer algo que, eh, no está implementado. (Lo cual también parece muy improbable).
Las cargas a S3 en un bucket de Google (aunque sea uno diferente) funcionan perfectamente. Hay un sitio de producción en 2.4.0.beta9 y un sitio de staging ejecutando 2.4.0.beta10 (y acabo de realizar otra actualización en el sitio de staging).
Es una instalación estándar de 2 contenedores con solo plugins estándar y la configuración de S3 definida con env: en el archivo .yml. EDICIÓN: Eliminé esas configuraciones ENV del archivo yml y reconstruí (destruir e iniciar no las eliminó) y el problema persiste.
No veo ningún commit obvio (para mí) que pueda estar relacionado.
EDICIÓN: Hay otra instancia de instalación estándar ejecutando 2.4.0.beta8 con la misma configuración y funciona, por lo que parece que algo ocurrió entre beta8 y beta9. Esto parece un . @gerhard, ¿podría estar relacionado de alguna manera con tus cambios en las copias de seguridad?
P.D. Verifiqué un sitio que usa DigitalOcean Spaces y las copias de seguridad funcionan correctamente.
¿Estás recibiendo el error apenas visitas /admin/backups? No he modificado nada en esa área recientemente, pero actualizamos el gem aws-s3 entre beta8 y beta10, pasando de la versión 1.36.1 a la 1.60.1. Es posible que esto ya no funcione con los buckets de Google. Quizás encuentres la causa en el CHANGELOG. Podrías probar con diferentes versiones del gem para acotar el problema.
Así que, al entrar en el contenedor y editar Gemfile para cambiar
gem 'aws-sdk-s3', require: false
por la versión
gem 'aws-sdk-s3', '1.51.0', require: false
y luego ejecutar
bundle install --no-deployment
sv restart unicorn
para ver si funcionaba, una búsqueda binaria entre las versiones mostró que 1.51.0 es la última versión que funciona. Por lo tanto, el problema comenzó con algo en 1.52.0: “Feature - Adding support in SelectObjectContent for scanning a portion of an object specified by a scan range.”