[Workbench] Remove arv-get file download fallback
|Target version:||Arvados Future Sprints|
|Velocity based estimate||-|
Currently, if keep-web isn't configured, Workbench will fallback to arv-get and Rails streaming to serve files. However, this is a very bad fallback:
- It fails silently if calling arv-get doesn't work
- It ties up a workbench worker for the duration of the download
- It doesn't report content-length, so user agents are unable to render a progress bar or determine if the entire file was transferred.
- It sometimes silently drops out in the middle of downloads
- It sometimes consumes huge amount of RAM, crashing the workbench server.
- It can't handle [some?] range requests
Instead we should:
- Workbench should refuse start if keep-web is not configured
- Documentation should be updated to emphasize that keep-web is mandatory, Workbench config for keep-web, and the new Workbench startup failure mode
- Remove the arv-get fallback code and adjust any related tests
- For file downloads, prefer to link directly to keep-web instead of redirecting through workbench (especially useful for sharing links)