¿Procedimiento para cambiar el endpoint de S3?

Hola,

Simplemente no parece funcionar. El endpoint antiguo sigue presente en todas las publicaciones.

Pasos:

  1. Cambiar “s3 Endpoint” en la configuración de administración
  2. Rehornear todas las publicaciones: rake posts:rebake
  3. Borrar la caché de Redis
    Después de confirmar que lo anterior no funcionó:
  4. rake posts:remap['old endpoint without http', 'new endpoint without http']
  5. Rehornear todas las publicaciones
  6. Reiniciar el contenedor
  7. Reiniciar todo el servidor
    Después de que esto tampoco funcionó:
  8. Editar SQL para reemplazar todo el endpoint antiguo por el nuevo en la tabla “posts”, en las columnas “raw” e “image_url”
  9. Rehornear todas las publicaciones

Después de todo esto, no solo las publicaciones antiguas conservaron el endpoint antiguo, sino que las nuevas publicaciones con nuevos adjuntos también tienen el endpoint antiguo. Los enlaces “short-url” también apuntan al endpoint antiguo.

¿Cuáles son los pasos correctos?

#bringBackMinio

Lo siento, ¿alguien sabe cómo hacer esto? Debería ser algo sencillo, pero no logro averiguarlo.

¿Alguna sugerencia aquí, @falco?

@plague69 ¿puedes compartir más detalles sobre tu configuración?

¿Cuáles son los valores antiguos y nuevos del endpoint de S3?

¿Estás usando una CDN para S3?

No pensé que importara. Si cambia y está mal, puedo arreglarlo, pero me está costando mucho lograr que cambie.

Punto de conexión anterior:
http://discourse.domain.tld:9000

Nuevo punto de conexión: (Solo cambió el puerto; hubo un conflicto y otro servicio no puede moverse)
http://discourse.domain.tld:9001

CDN sin cambios:
http://files.domain.tld:80

Puedo eliminar el CDN si es necesario; por ahora no es necesario.

Gracias, @Falco.

Nunca he probado usar un servidor S3 en un puerto no estándar, ya que eso no es algo que probemos.

Dicho esto, ¿puedes intentar configurar el endpoint de S3 en una variable de entorno en el archivo app.yml?

env:
   # configuraciones actuales ...
   DISCOURSE_S3_ENDPOINT:  http://discourse.domain.tld:9001

Eso no funcionó, me temo. Todavía me quedo en 9000.

Después de añadir esa variable de entorno, hubo que reconstruir, no solo reiniciar el contenedor para que surtiera efecto. La opción se eliminó de la configuración, así que sé que funcionaba y la variable estaba en los parámetros de inicio del contenedor tras la reconstrucción.

¿Hay alguna forma de descargar todo en el disco local si dejamos de usar S3? Como las copias de seguridad no incluyen S3, ni siquiera puedo hacer una copia de seguridad y restaurar.

¿Volverá a generar las URL cortas el comando posts:rebake?

Creo que existe una tarea de Rake para pasar de S3 a local. Puedes buscar aquí o revisar el código fuente. Esa es probablemente tu mejor opción.

Antes existía: rake uploads:migrate_from_s3. El script de migración de Minio a S3 cuando eliminaron el formato de URL de S3 (con barra en lugar del estilo de subdominio).

Ahora ni siquiera puedo verlo.