GIt lfs no s3 usando gitea não pode clonar

GIt lfs no s3 usando gitea não pode clonar

Estamos fazendo uma instalação de teste do gitea e tentando usar o recurso gitea lfs to s3. A configuração é simples e fizemos assim:

[lfs]
#PATH = /opt/gitea/data/lfs
STORAGE_TYPE = minio
MINIO_ACCESS_KEY_ID = KEY
MINIO_SECRET_ACCESS_KEY = SECRET
MINIO_BUCKET = NAME
MINIO_LOCATION = us-east-1
MINIO_USE_SSL = true
SERVE_DIRECT = true
MINIO_ENDPOINT = s3.us-east-1.amazonaws.com

Funciona, criei um repositório e clonei outro que tinha à disposição com lfs config. Consegui enviar e enviar todos os meus arquivos lfs e ele carregou tudo no s3. Então isso é ótimo.

Mas agora tenho um problema ao clonar o repositório, o clone obtém os arquivos git, mas ao tentar obter os arquivos lfs no s3 recebo esta mensagem:

Error downloading object: FILE (hash): Smudge error: Error downloading  FILE (hash): LFS: Get "https://NAME.s3.dualstack.us-east-1.amazonaws.com/lfs/PATHTOFILE": dial tcp: lookup NAME.s3.dualstack.us-east-1.amazonaws.com on IP:53: dial udp IP:53: socket: too many open files

Pelo que entendi, está tentando obter apenas um arquivo, mas mesmo isso não funciona.

Alguém já viu isso antes?

Responder1

Eu estava tendo o mesmo problema, embora não tenha certeza de qual é a causa raiz. Parece que algo no cliente git-lfs não gosta dos URLs S3 diretos/assinados que o gitea está servindo.

Minha solução foi a configuração SERVE_DIRECT = false, que basicamente faz proxy de todos os objetos LFS de volta através do gitea antes de devolvê-los ao cliente.

informação relacionada