Arvbox support for caching and offline install of npm packages. no issue #
authorPeter Amstutz <peter.amstutz@curoverse.com>
Fri, 15 Sep 2017 00:22:49 +0000 (20:22 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Fri, 15 Sep 2017 00:22:49 +0000 (20:22 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

tools/arvbox/bin/arvbox
tools/arvbox/lib/arvbox/docker/common.sh
tools/arvbox/lib/arvbox/docker/createusers.sh

index 89925ba6f8fd4174e6acaf818e699d335cff91f9..6d535eaed4dd73b31a91bd6e60774f6eac9ee4d7 100755 (executable)
@@ -51,6 +51,7 @@ VAR_DATA="$ARVBOX_DATA/var"
 PASSENGER="$ARVBOX_DATA/passenger"
 GEMS="$ARVBOX_DATA/gems"
 PIPCACHE="$ARVBOX_DATA/pip"
+NPMCACHE="$ARVBOX_DATA/npm"
 GOSTUFF="$ARVBOX_DATA/gopath"
 
 getip() {
@@ -183,7 +184,7 @@ run() {
         updateconf
         wait_for_arvbox
     else
-        mkdir -p "$PG_DATA" "$VAR_DATA" "$PASSENGER" "$GEMS" "$PIPCACHE" "$GOSTUFF"
+        mkdir -p "$PG_DATA" "$VAR_DATA" "$PASSENGER" "$GEMS" "$PIPCACHE" "$NPMCACHE" "$GOSTUFF"
 
 
         if ! test -d "$ARVADOS_ROOT" ; then
@@ -209,6 +210,7 @@ run() {
                        "--volume=$PASSENGER:/var/lib/passenger:rw" \
                        "--volume=$GEMS:/var/lib/gems:rw" \
                        "--volume=$PIPCACHE:/var/lib/pip:rw" \
+                       "--volume=$NPMCACHE:/var/lib/npm:rw" \
                        "--volume=$GOSTUFF:/var/lib/gopath:rw" \
                        arvados/arvbox-dev$TAG \
                        /usr/local/bin/runsvinit -svdir=/etc/test-service
@@ -249,6 +251,7 @@ run() {
                    "--volume=$PASSENGER:/var/lib/passenger:rw" \
                    "--volume=$GEMS:/var/lib/gems:rw" \
                    "--volume=$PIPCACHE:/var/lib/pip:rw" \
+                   "--volume=$NPMCACHE:/var/lib/npm:rw" \
                    "--volume=$GOSTUFF:/var/lib/gopath:rw" \
                    $PUBLIC \
                    arvados/arvbox-dev$TAG
index 8792d316f00211ff0be21510c60023cf7136c610..9bf92f4ee85d06acf8272090b6711797cd73b363 100644 (file)
@@ -6,6 +6,8 @@
 export PATH=${PATH}:/usr/local/go/bin:/var/lib/gems/bin
 export GEM_HOME=/var/lib/gems
 export GEM_PATH=/var/lib/gems
+export npm_config_cache=/var/lib/npm
+export npm_config_cache_min=Infinity
 
 if test -s /var/run/localip_override ; then
     localip=$(cat /var/run/localip_override)
index f717ea99b5c7f49bb41e34b616a30da1fadf280d..3296a3cd178779cb956d87250748a71e9ae8d8ad 100755 (executable)
@@ -10,7 +10,8 @@ if ! grep "^arvbox:" /etc/passwd >/dev/null 2>/dev/null ; then
     HOSTGID=$(ls -nd /usr/src/arvados | sed 's/ */ /' | cut -d' ' -f5)
 
     mkdir -p /var/lib/arvados/git /var/lib/gems \
-          /var/lib/passenger /var/lib/gopath /var/lib/pip
+          /var/lib/passenger /var/lib/gopath \
+          /var/lib/pip /var/lib/npm
 
     groupadd --gid $HOSTGID --non-unique arvbox
     groupadd --gid $HOSTGID --non-unique git
@@ -25,7 +26,7 @@ if ! grep "^arvbox:" /etc/passwd >/dev/null 2>/dev/null ; then
     chown arvbox:arvbox -R /usr/local /var/lib/arvados /var/lib/gems \
           /var/lib/passenger /var/lib/postgresql \
           /var/lib/nginx /var/log/nginx /etc/ssl/private \
-          /var/lib/gopath /var/lib/pip
+          /var/lib/gopath /var/lib/pip /var/lib/npm
 
     mkdir -p /var/lib/gems/ruby
     chown arvbox:arvbox -R /var/lib/gems/ruby