Процедура изменения конечной точки S3?

Привет,

Не могу заставить это работать. Старый эндпоинт всё ещё присутствует во всех публикациях.

Шаги:

  1. Изменил «s3 Endpoint» в настройках администратора
  2. Пересобрал все публикации: rake posts:rebake
  3. Очистил кэш Redis
    После того как вышеперечисленное не помогло:
  4. rake posts:remap['старый_эндпоинт_без_http', 'новый_эндпоинт_без_http']
  5. Пересобрал все публикации
  6. Перезапустил контейнер
  7. Перезапустил весь сервер
    После того как и это не помогло:
  8. Отредактировал SQL-запросом: заменил все вхождения старого эндпоинта на новый в таблице «posts» в столбцах «raw» и «image_url»
  9. Пересобрал все публикации

После всех этих действий не только старые публикации сохранили старый эндпоинт, но и новые публикации с новыми вложениями также содержат старый эндпоинт. Ссылки «short-url» тоже ведут на старый эндпоинт.

Каковы правильные шаги?

#bringBackMinio

Извините, кто-нибудь знает, как это сделать? Должно быть что-то простое, но я не могу разобраться.

Есть какие-нибудь советы, @falco?

@plague69, не могли бы вы поделиться более подробной информацией о вашей конфигурации?

Каковы старые и новые значения конечной точки S3?

Используете ли вы CDN для S3?

Я не думал, что это имеет значение? Ведь если что-то изменится и будет неверно, я смогу это исправить, но у меня возникают трудности с внесением изменений.

Старый эндпоинт:
http://discourse.domain.tld:9000

Новый эндпоинт: (изменился только порт, возник конфликт, и другой сервис не может быть перемещён)
http://discourse.domain.tld:9001

CDN без изменений:
http://files.domain.tld:80

При необходимости я могу убрать CDN, но сейчас в этом нет нужды.

Спасибо, @Falco

Я никогда не пробовал использовать S3-сервер на нестандартном порту, так как мы не тестируем такую конфигурацию.

Тем не менее, попробуйте настроить конечную точку S3 через переменную окружения в файле app.yml:

env:
   # текущие настройки ...
   DISCOURSE_S3_ENDPOINT:  http://discourse.domain.tld:9001

К сожалению, это не сработало. Всё ещё застрял на 9000.

После добавления этой переменной окружения пришлось пересобрать контейнер, а не просто перезапустить его, чтобы изменения вступили в силу. Опция удалена из настроек, так что я знаю, что она работала, и переменная была в параметрах запуска контейнера после пересборки.

Есть ли способ скачать всё на локальный диск, если мы откажемся от S3? Так как резервные копии не включают S3, я даже не могу сделать резервную копию и восстановить.

Команда posts:rebake пересоздаст ли короткие ссылки?

Думаю, у них есть задача rake для переноса из S3 на локальный диск. Вы можете поискать здесь или посмотреть в исходном коде. Это, вероятно, лучший вариант.

Раньше существовала команда: rake uploads:migrate_from_s3. Это был скрипт миграции с Minio на S3, когда они отказались от формата URL S3 (со слэшем вместо поддоменного стиля).

Сейчас я даже этого не вижу.