In Submarine Experiment, there're needs to sync up code from Git/S3 to run experiment.
For example, Experiment can be defined to:
And once the experiment is launched, code from https://foo.com/training-job.git will be synced under /code directory of the launched container.
Different sync_mode can be supported, it can be git, s3, hdfs, nfs, etc.
Similarily, notebook can sync code when a notebook session is launched, this avoids user manual checkout code post notebook session launch.
More design can be found at the following design docs: