deploy, scripts: provide list of images and script to pull and push all Longhorn component images to user provided registry

This help to remove the extra dependency on different container image
registry. Docker Hub now holds all Longhorn components' images.
Also, users can easily pull all the necessary images to their
air-gap environment

Longhorn #1419

Signed-off-by: Phan Le <phan.le@rancher.com>
This commit is contained in:
Phan Le 2020-07-14 20:22:13 -07:00 committed by Sheng Yang
parent b76af125da
commit d2460a9819
5 changed files with 140 additions and 0 deletions

View File

@ -0,0 +1,10 @@
longhornio/longhorn-engine:master
longhornio/longhorn-instance-manager:v1_20200514
longhornio/longhorn-manager:master
longhornio/longhorn-manager-test:master
longhornio/longhorn-test:upgrade-test.3-3.3-3.1-1
longhornio/longhorn-ui:master
longhornio/csi-attacher:v2.0.0
longhornio/csi-node-driver-registrar:v1.2.0
longhornio/csi-provisioner:v1.4.0
longhornio/csi-resizer:v0.3.0

View File

@ -0,0 +1,10 @@
longhornio/longhorn-engine:v1.0.1
longhornio/longhorn-instance-manager:v1_20200514
longhornio/longhorn-manager:v1.0.1
longhornio/longhorn-manager-test:v1.0.1
longhornio/longhorn-test:upgrade-test.3-3.3-3.1-1
longhornio/longhorn-ui:v1.0.1
quay.io/k8scsi/csi-attacher:v2.0.0
quay.io/k8scsi/csi-node-driver-registrar:v1.2.0
quay.io/k8scsi/csi-provisioner:v1.4.0
quay.io/k8scsi/csi-resizer:v0.3.0

View File

@ -0,0 +1,9 @@
longhornio/longhorn-engine:v1.0.1
longhornio/longhorn-instance-manager:v1_20200514
longhornio/longhorn-manager:v1.0.1
longhornio/longhorn-manager-test:v1.0.1
longhornio/longhorn-ui:v1.0.1
longhornio/csi-attacher:v2.0.0
longhornio/csi-node-driver-registrar:v1.2.0
longhornio/csi-provisioner:v1.4.0
longhornio/csi-resizer:v0.3.0

67
scripts/load-images.sh Executable file
View File

@ -0,0 +1,67 @@
#!/bin/bash
list="longhorn-images.txt"
images="longhorn-images.tar.gz"
POSITIONAL=()
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
-r|--registry)
reg="$2"
shift # past argument
shift # past value
;;
-l|--image-list)
list="$2"
shift # past argument
shift # past value
;;
-i|--images)
images="$2"
shift # past argument
shift # past value
;;
-h|--help)
help="true"
shift
;;
esac
done
usage () {
echo "USAGE: $0 [--image-list longhorn-images.txt] [--images longhorn-images.tar.gz] --registry my.registry.com:5000"
echo " [-l|--images-list path] text file with list of images. 1 per line."
echo " [-l|--images path] tar.gz generated by docker save."
echo " [-r|--registry registry:port] target private registry:port. By default, registry is Docker Hub"
echo " [-h|--help] Usage message"
}
if [[ $help ]]; then
usage
exit 0
fi
if [[ -n $reg ]]; then
reg+="/"
fi
set -e -x
docker load --input ${images}
for i in $(cat ${list}); do
case $i in
*/*/*)
docker tag ${i} ${reg}longhornio/${i#*/*/}
docker push ${reg}longhornio/${i#*/*/}
;;
*/*)
docker tag ${i} ${reg}longhornio/${i#*/}
docker push ${reg}longhornio/${i#*/}
;;
*)
docker tag ${i} ${reg}longhornio/${i}
docker push ${reg}longhornio/${i}
;;
esac
done

44
scripts/save-images.sh Executable file
View File

@ -0,0 +1,44 @@
#!/bin/bash
list="longhorn-images.txt"
images="longhorn-images.tar.gz"
POSITIONAL=()
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
-i|--images)
images="$2"
shift # past argument
shift # past value
;;
-l|--image-list)
list="$2"
shift # past argument
shift # past value
;;
-h|--help)
help="true"
shift
;;
esac
done
usage () {
echo "USAGE: $0 [--image-list longhorn-images.txt] [--images longhorn-images.tar.gz]"
echo " [-l|--images-list path] text file with list of images. 1 per line."
echo " [-l|--images path] tar.gz generated by docker save."
echo " [-h|--help] Usage message"
}
if [[ $help ]]; then
usage
exit 0
fi
set -e -x
for i in $(cat ${list}); do
docker pull ${i}
done
docker save $(cat ${list} | tr '\n' ' ') | gzip -c > ${images}