A partir de https://golang.org/cl/50750, o coordenador de construção tem um servidor ssh para proxy para buildlets. (Esse foi o bug # 19956)
Mas ainda não há suporte para scp.
Este é um bug de rastreamento para descobrir isso.
/ cc @dmitshur
Este é um dos problemas que estou examinando. Ao tentar imaginar como isso funcionaria, surgiu a seguinte pergunta.
Considerando que temos gomote put
, o suporte scp será necessário e útil? gomote put
já não faz o que scp
deixaria você fazer? Ou existem casos de uso específicos que conhecemos que fariam isso valer a pena.
Uma observação sobre ssh
vs scp
. O Gomote atualmente permite que o usuário "ssh em" um buildlet executando gomote ssh <instance>
, mas funciona criando um shell ssh e permitindo que o usuário o use. O cliente ssh
normal não é suportado diretamente. Não acho que a mesma solução funcionaria para scp
, porque não queremos reimplementar toda a sintaxe complexa que o cliente scp
suporta.
gomote put
e gomote gettar
são entediantes e não funcionam com ferramentas existentes como rsync
.
O cliente ssh normal não é suportado diretamente.
É se você executá-lo manualmente. gomote ssh
echos o comando que você pode executar por conta própria.
Tudo o que é necessário para corrigir esse bug (eu acho) é responder às solicitações de abertura do canal "sftp" em nosso servidor ssh e abrir um novo canal "sftp" para o backend e juntá-los com uma cópia io.Copy goroutines.
Comentários muito úteis
gomote put
egomote gettar
são entediantes e não funcionam com ferramentas existentes comorsync
.É se você executá-lo manualmente.
gomote ssh
echos o comando que você pode executar por conta própria.Tudo o que é necessário para corrigir esse bug (eu acho) é responder às solicitações de abertura do canal "sftp" em nosso servidor ssh e abrir um novo canal "sftp" para o backend e juntá-los com uma cópia io.Copy goroutines.