841e7e2f57
This patch adds a cron job to our mirror_update servers which will begin mirroring the npm registry into our own AFS mirror directories, under the /npm path. It uses two major components: First, the registry-static project, available here: https://github.com/davglass/registry-static Secondly, a custom implementation of the fs-blob-store named afs-blob-store, which creates a virtual filesystem that automatically translates paths to accomodate AFS' folder size limit. This project is currently still hosted on github, however will be added to OpenStack soon: https://github.com/krotscheck/js-afs-blob-store This will require creating ACL's as well as the AFS principal before this can be landed. Change-Id: Ib78852fc5cde4fb04fe6439e01a591ca2781ce21
29 lines
1.0 KiB
Bash
29 lines
1.0 KiB
Bash
#!/bin/bash
|
|
|
|
# Copyright 2016 Hewlett Packard Enterprise Development Corporation, LP
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
set -e
|
|
|
|
CMD="/usr/bin/registry-static"
|
|
CMD_ARGS="-d <%= @uri_rewrite %> -o <%= @data_directory %> --blobstore afs-blob-store"
|
|
|
|
echo "Obtaining npm tokens and running registry-static."
|
|
k5start -t -f /etc/npm.keytab service/npm -- timeout -k 2m 30m $CMD $CMD_ARGS
|
|
|
|
echo "registry-static completed successfully, running vos release."
|
|
k5start -t -f /etc/afsadmin.keytab service/afsadmin -- vos release -v mirror.npm
|
|
|
|
echo "Done."
|