Rustup offline network


#1

I would like to be able to use rustup in an offline manner. I have read the instructions about how to install rust manually but I have a set of 10+ machines that will need to be setup with a rust development environment that are all on an airgapped network isolated from the internet. For example, the machines are centos and to get them updates I rsync the centos repos and then manually transfer the repo contents to a web server on the offline network. Can I do a similar thing to get rustup to work? In addition, some of the dev tools like RLS and the visual studio code integration really need rustup to work correctly. I have already found some examples of how to get cargo to work in an offline scenario but I need some help with rustup.

Luke


#2

If you can use the EPEL repo, I’ve already built rust packages there, including RLS. You can also find them in SCL form mirroring the RHEL devtools, in the centos-sclo-rh repo.

If you really want rustup, you might be able to play with your own RUSTUP_DIST_SERVER, like we do for testing prerelease builds: https://internals.rust-lang.org/t/help-test-the-1-28-0-prerelease/8097


#3

Can static.rust-lang.org be rsynced or retrieved with another mass update method?


#4

If your organization is big enough, could be worthed to use CVMFS

Now, what is CVMFS.

CVMFS (Cern Virtual Machine - FileSystem) is one of the ways we deploy software inside CERN, given the sheer amount of computation unit we manage it made sense to develop a solution specific for our needs.

Basically, there is a server that talks HTTP and provides a file catalogue along with the files themselves.

The clients connect to the server and using FUSE populate a specific directory /cvmfs/ by default with whatever software is installed on the server.

You also get a tag system, a little bit like git, where you can jump between different tags.

Maybe for 10 machines is not worthed, but if you scale it on the order of 50/100 you will definitely get some advantage from it. If you scale beyond that is the only scalable solution I know of.

If you are interested, get in touch :slight_smile:

Let me leave you the link to the documentation: http://cvmfs.readthedocs.io/en/stable/ and the one of the code: https://github.com/cvmfs/cvmfs


Provide rust tools over the network (CVMFS)