Sharing Package Storage

Groups that share packages across users can save storage and network traffic by installing packages from a shared directory (e.g. on a network file server).

Create and populate shared package directory

  1. Create a quilt_packages directory on the shared file system.

  2. Set the QUILT_PRIMARY_PACKAGE_DIR to the path for quilt_packages in step 1.

     # select a path that you control & is durable, e.g.
     export SHARE_PATH=YOUR_SHARED_PATH/quilt_packages
     export QUILT_PRIMARY_PACKAGE_DIR=$SHARE_PATH
     mkdir -p "$SHARE_PATH"
     chmod o+r "$SHARE_PATH"
    
  3. Install packages to the shared directory

     quilt build USERNAME/PACKAGE PATH_TO_BUILD_YML
     quilt install USERNAME/PACKAGE
    
  4. Set read permissions on shared directory and sub-directories

     chgrp -R readers "$QUILT_PRIMARY_PACKAGE_DIR"
     chmod -R g+rx "$QUILT_PRIMARY_PACKAGE_DIR"
    

Configure clients to read from shared directory

  1. Each reader should set the following environment variable:
     # consider setting this in .bashrc
     export QUILT_PACKAGE_DIRS=$SHARE_PATH
    
  2. Readers can can import shared packages as follows example:
     from quilt.data.USERNAME import PACKAGE
    

Import precedence

Quilt will first check QUILT_PRIMARY (defaults to the local machine) and then check QUILT_PACKAGE_DIRS (if available) when importing a package.

Refer to the Python API docs for details on quilt commands.

results matching ""

    No results matching ""