21230: Use virtualenv in arvbox
authorBrett Smith <brett.smith@curii.com>
Fri, 12 Jan 2024 15:52:00 +0000 (10:52 -0500)
committerBrett Smith <brett.smith@curii.com>
Fri, 12 Jan 2024 20:35:41 +0000 (15:35 -0500)
commit946fb6cd2a97b715b285e326c244debacbec05a2
tree1fa5e9127ae1df21d8329bb3ae5517f53a0ff79d
parent11cc387401be06df6d4711d7888aba8549620b98
21230: Use virtualenv in arvbox

This is preparation to let us build arvbox on Debian 12, which has
adopted PEP 668 and doesn't permit installing packages outside a
virtualenv anymore.

This does move pdoc installation out of the doc service and into the
Dockerfile. The doc code currently doesn't have any way to version this
dependency, and it rarely changes in development, so this seems fine as
a code simplification.

All the code that tries to "pip install from cache only, then use the
network" is gone because as best I can tell it's already non-functional:
the pip cache isn't structured in the way that it assumes
anymore. Generally pip looks at what's installed in the virtualenv and
only installs what it *must* to satisfy dependencies, so this seems
fine.

Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
tools/arvbox/lib/arvbox/docker/Dockerfile.base
tools/arvbox/lib/arvbox/docker/common.sh
tools/arvbox/lib/arvbox/docker/createusers.sh
tools/arvbox/lib/arvbox/docker/edit_users.py
tools/arvbox/lib/arvbox/docker/service/doc/run-service
tools/arvbox/lib/arvbox/docker/service/sdk/run-service
tools/arvbox/lib/arvbox/docker/yml_override.py