dirien
(Engin Diri)
Junho 14, 2021, 5:45am
1
Olá a todos,
esbarramos em um problema estranho.
Nossa configuração:
Discourse: 2.8.0.beta2
S3: Minio
CDN: Myra
O S3 está configurado:
root@assets-prod-app01:~# sudo -u minio mc admin policy info minio readwrite-discourse
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucketMultipartUploads",
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::discourse"
]
},
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::discourse/*"
]
}
]
}
Mas, toda vez que editamos, recebemos a seguinte mensagem de erro:
Nos arquivos de log, vemos:
Aws::S3::Errors::NotImplemented (Um cabeçalho que você forneceu implica funcionalidade que não foi implementada)
lib/file_store/s3_store.rb:279:in `update_ACL'
lib/file_store/s3_store.rb:209:in `update_upload_ACL'
...
Existe alguma configuração que não consideramos, ou o Minio não é compatível com o Discourse?
Qualquer dica seria muito bem-vinda, pois estamos recebendo um pouco de pressão dos nossos usuários
Obrigado desde já
dirien
(Engin Diri)
Junho 22, 2021, 4:24am
2
Essa configuração é tão incomum?
Agradeceria muito se pudesse me orientar sobre o que investigar com mais detalhes ou o que alterar? @Falco , no momento estamos bastante travados…
Falco
(Falco)
Junho 22, 2021, 4:55pm
3
Você ativou a configuração do site secure_uploads? Isso não funcionará de forma alguma com o MinIO.
Falco
(Falco)
Junho 22, 2021, 9:01pm
5
dirien
(Engin Diri)
Junho 23, 2021, 4:44am
6
Sim, realmente letra por letra
dirien
(Engin Diri)
Julho 1, 2021, 5:03am
7
Desculpe incomodar, mas você consegue ver algo?
dirien
(Engin Diri)
Julho 8, 2021, 5:32am
8
Oi, você tem alguma ideia? Desculpe incomodar…
Olá,
Hoje atualizei para a versão 2.8.0.beta2, mesmo erro:
Basta selecionar secure_media, o MinIO volta a funcionar.
Falco
(Falco)
Julho 8, 2021, 3:50pm
10
@pmusaraj / @martin parece ser uma regressão causada por
https://github.com/discourse/discourse/pull/13110
que não levou em consideração as mesmas questões que foram corrigidas por
https://github.com/discourse/discourse/commit/5c5d8a307a816afcda4b97eecf49b836fc9ecb01
Então, o post_creator faz:
e models/post:
"topic_tag_changed.added_and_removed",
added: tag_list_to_raw(added),
removed: tag_list_to_raw(removed),
)
elsif added.present?
I18n.t("topic_tag_changed.added", added: tag_list_to_raw(added))
elsif removed.present?
I18n.t("topic_tag_changed.removed", removed: tag_list_to_raw(removed))
end
end
def self.tag_list_to_raw(tag_list)
tag_list.sort.map { |tag_name| "##{tag_name}" }.join(", ")
end
# Revises a post with the given fields and options.
#
# @param editor [User] The user performing the revision
# @param fields [Hash] Hash of fields to update
# @param opts [Hash] Optional parameters for the revision
# @option opts [Time] :revised_at Changes the date of the revision
1 curtida
martin
(Martin Brennan)
Julho 9, 2021, 12:18am
12
Já existe uma correção para isso que foi feita por motivos de desempenho, mas que também deve resolver seu problema:
https://github.com/discourse/discourse/commit/d1b2e9db3bcb7693094511edc415a953dc8a9116
Embora eu vá fazer uma correção no job para que ele termine antecipadamente se a mídia segura estiver desativada.
Na verdade, não posso fazer o acima porque queremos que os uploads de postagens sejam marcados como não seguros se a mídia segura estiver desativada ou se a postagem tiver sido movida para uma categoria diferente. Em vez disso, vou adicionar uma correção para capturar o erro Aws::S3::Errors::NotImplemented quando executarmos Discourse.store.update_upload_ACL(self). Dessa forma, clientes que não suportam ACLs privadas não devem ter problemas.
Edição: Eu fundi essa correção hoje, espero que ajude FIX: Handle storage providers not implementing ACLs by martin-brennan · Pull Request #13675 · discourse/discourse · GitHub . Acredito que também vamos lançar uma nova versão beta na próxima semana.
3 curtidas
Falco
(Falco)
Fechado
Julho 12, 2021, 11:00am
13
Este tópico foi automaticamente fechado após 3 dias. Novas respostas não são mais permitidas.