Skip to content

Instantly share code, notes, and snippets.

@rwd
Last active October 24, 2022 09:18
Show Gist options
  • Save rwd/f60771b67f5bab9fd4a14c21dcd38c99 to your computer and use it in GitHub Desktop.
Save rwd/f60771b67f5bab9fd4a14c21dcd38c99 to your computer and use it in GitHub Desktop.
IBM Cloud Compose for Redis to Databases for Redis migration
# Source Redis database
SRC_HOST=
SRC_PASSWORD=
SRC_PORT=
# Destination Redis database
DST_HOST=
DST_PASSWORD=
DST_PORT=

IBM Cloud Compose for Redis to Databases for Redis migration

Build and run a Docker image to help run a Redis migration script supplied by IBM Cloud.

Build

docker build -t ibmcloud-redis-migration .

Configure

Copy (.env.example)[./.env.example] to .env and populate.

Save the Databases for Redis SSL CA certificate to dsthostcacert.crt.

Migrate

docker run \
  -it --rm \
  --env-file=./.env \
  --name ibmcloud_redis_migration \
  --mount type=bind,src=$(pwd)/dsthostcacert.crt,dst=/app/dsthostcacert.crt \
  ibmcloud-redis-migration
#!/usr/bin/env sh
set -e
python redis_migration.py \
"${SRC_HOST}" \
"${SRC_PASSWORD}" \
"${SRC_PORT}" \
"${DST_HOST}" \
"${DST_PASSWORD}" \
"${DST_PORT}" \
"/app/dsthostcacert.crt" \
"$@"
FROM python:3-alpine
RUN pip install click progressbar redis
WORKDIR /app
COPY docker-entrypoint.sh ./
RUN wget https://raw.githubusercontent.com/IBM-Cloud/clouddatabases-migration-examples/19c1408e9dd0ed32e3286ed075fb99321b6a3bea/redis/redis_migration.py
ENTRYPOINT ["/app/docker-entrypoint.sh"]
CMD ["--ssldst", "--sslsrc"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment