Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/build/cmd/coordinator, x/build/cmd/gomoteserver: ssh proxy should support scp #21140

Open
bradfitz opened this issue Jul 24, 2017 · 3 comments
Labels
Builders x/build issues (builders, bots, dashboards) FeatureRequest help wanted
Milestone

Comments

@bradfitz
Copy link
Contributor

As of https://golang.org/cl/50750 the build coordinator has an ssh server to proxy to buildlets. (That was bug #19956)

But there's no scp support yet.

This is a tracking bug to figure that out.

@gopherbot gopherbot added this to the Unreleased milestone Jul 24, 2017
@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Jul 24, 2017
@bradfitz
Copy link
Contributor Author

/cc @dmitshur

@dmitshur
Copy link
Contributor

dmitshur commented Aug 15, 2018

This is one of the issues I'm looking at. In trying to envision how it would work, the following question came up.

Given that we have gomote put, is scp support going to be needed and helpful? Doesn't gomote put already do what scp would let you do? Or are there specific use cases we're aware of that would make this worthwhile.

One observation about ssh vs scp. Gomote currently lets the user "ssh into" a buildlet by running gomote ssh <instance>, but it works by creating an ssh shell and letting the user use it. The normal ssh client isn't supported directly. I don't think the same solution would work for scp, because we don't want to re-implement all the complex syntax that the scp client supports.

@bradfitz
Copy link
Contributor Author

gomote put and gomote gettar are tedious and don't work with existing tools like rsync.

The normal ssh client isn't supported directly.

It is if you run it by hand. gomote ssh echos out the command you could run on your own.

All that's required to fix this bug (I think) is to respond to "sftp" channel open requests in our ssh server and open a new onward "sftp" channel to the backend and stitch them together with a copy io.Copy goroutines.

@dmitshur dmitshur changed the title x/build/cmd/coordinator: ssh proxy should support scp x/build/cmd/coordinator, x/build/cmd/gomoteserver: ssh proxy should support scp Nov 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Builders x/build issues (builders, bots, dashboards) FeatureRequest help wanted
Projects
None yet
Development

No branches or pull requests

3 participants