Procedimento de alteração de endpoint S3?

Olá,

Parece que não consigo fazer isso funcionar. O endpoint antigo ainda aparece em todas as postagens.

Passos:

  1. Altere o “Endpoint S3” nas configurações de administrador
  2. Rebake todas as postagens com “rake posts:rebake”
  3. Limpe o cache do Redis
    Depois de confirmar que o acima não funcionou:
  4. Execute rake posts:remap[‘endpoint antigo sem http’, ‘novo endpoint sem http’]
  5. Rebake todas as postagens
  6. Reinicie o contêiner
  7. Reinicie o servidor inteiro
    Após isso não ter funcionado:
  8. Edite o SQL substituindo todos os endereços antigos pelo novo no banco de dados, nas colunas “raw” e “image_url” da tabela “posts”
  9. Rebake todas as postagens

Após tudo isso, não apenas as postagens antigas mantiveram o endpoint antigo, como novas postagens com novos anexos também apresentam o endpoint antigo. Os links “short-url” também apontam para o endpoint antigo.

Quais são os passos corretos?

#bringBackMinio

Desculpe, alguém sabe como fazer isso? Deve ser algo simples, mas não consigo descobrir.

Alguma sugestão aqui, @falco?

@plague69 você pode compartilhar mais detalhes sobre sua configuração?

Quais são os valores antigo e novo do endpoint S3?

Você está usando um CDN para o S3?

Não achei que importasse? Já que, se mudar e estiver errado, posso corrigir, mas estou tendo dificuldade para fazer a mudança acontecer.

Endpoint Antigo:
http://discourse.domain.tld:9000

Novo Endpoint: (Apenas a porta mudou, houve um conflito e outro serviço não pode ser movido)
http://discourse.domain.tld:9001

CDN inalterado:
http://files.domain.tld:80

Posso remover o CDN se necessário, mas no momento não há necessidade.

Obrigado, @Falco

Nunca testei o uso de um servidor S3 em uma porta não padrão, pois isso não é algo que verificamos.

Dito isso, você pode tentar configurar o Endpoint do S3 em uma variável de ambiente no arquivo app.yml?

env:
   # configurações atuais ...
   DISCOURSE_S3_ENDPOINT:  http://discourse.domain.tld:9001

Isso não funcionou, receio. Ainda travado em 9000.

Depois de adicionar essa variável de ambiente, foi necessário reconstruir, não apenas reiniciar o container, para que surtisse efeito. A opção foi removida das configurações, então sei que estava funcionando e que a variável estava nos parâmetros de inicialização do container após a reconstrução.

Existe alguma maneira de baixar tudo para o disco local se deixarmos de usar o S3? Como os backups não incluem o S3, nem mesmo consigo fazer backup e restaurar.

O comando posts:rebake vai refazer os URLs curtos?

Acredito que exista uma tarefa rake para transferir do S3 para o local. Você pode pesquisar aqui ou verificar no código-fonte. Essa provavelmente é a sua melhor opção.

Antigamente existia: rake uploads:migrate_from_s3. O script de migração do Minio para o S3 quando eles removeram o formato de URL do S3 (barra em vez do estilo de subdomínio).

No momento, nem consigo ver isso.