mirror of
https://github.com/balena-io/open-balena.git
synced 2024-12-20 14:13:08 +00:00
30 lines
1.1 KiB
Plaintext
30 lines
1.1 KiB
Plaintext
|
#!/bin/sh
|
||
|
|
||
|
migrate_data_to_s3 () {
|
||
|
BUCKET="${1:-registry-data}"
|
||
|
|
||
|
if [ -z "${BUCKET}" ]; then return 1; fi
|
||
|
|
||
|
if [ -n "${DOCKER_HOST}" ]; then
|
||
|
log "Using docker host: ${DOCKER_HOST}"
|
||
|
export DOCKER_HOST="${DOCKER_HOST}"
|
||
|
fi
|
||
|
|
||
|
REGISTRY_CONTAINER="$(docker ps | grep registry_ | awk '{print $1}')"
|
||
|
S3_CONTAINER="$(docker ps | grep s3_ | awk '{print $1}')"
|
||
|
|
||
|
if [ -z "${REGISTRY_CONTAINER}" ] || [ -z "${S3_CONTAINER}" ]; then return 2; fi
|
||
|
|
||
|
REGISTRY_VOLUME="$(docker inspect "${REGISTRY_CONTAINER}" | jq -r '.[].Mounts | map(select(.Destination=="/data")) | .[0].Source')"
|
||
|
S3_VOLUME=$(docker inspect "${S3_CONTAINER}" | jq -r '.[].Mounts | map(select(.Destination=="/export")) | .[0].Source')
|
||
|
|
||
|
if [ -z "${REGISTRY_VOLUME}" ] || [ -z "${S3_VOLUME}" ]; then return 3; fi
|
||
|
|
||
|
# run the S3 container image, and copy the data partition into S3...
|
||
|
docker run -it --rm \
|
||
|
-v "${REGISTRY_VOLUME}:/data" \
|
||
|
-v "${S3_VOLUME}:/s3" \
|
||
|
--name "migrate-registry" alpine \
|
||
|
sh -c "mkdir -p /s3/${BUCKET}/data && cp -r /data/docker /s3/${BUCKET}/data/"
|
||
|
}
|