vitess.io/vitess@v0.16.2/docker/mini/run.sh (about) 1 #!/bin/bash 2 # 3 # Run a MiniVitess docker image, with details and credentials for a MySQL replication topology 4 # 5 6 TOPOLOGY_SERVER="" 7 MYSQL_SCHEMA="" 8 TOPOLOGY_USER="" 9 TOPOLOGY_PASSWORD="" 10 11 help() { 12 cat <<- "EOF" 13 Usage: 14 docker/mini/run.sh <options> 15 16 Mandatory options: 17 -s <topology server>: in hostname[:port] format; a single MySQL server in your replication 18 topology from which MiniVitess will discover your entire topology 19 -d <database name>: database/schema name on your MySQL server. A single schema is supported. 20 -u <mysql user>: MySQL username with enough privileges for Vitess to run DML, and for 21 orchestrator to probe replication 22 -p <mysql password>: password for given user 23 EOF 24 exit 1 25 } 26 27 error_help() { 28 local message="$1" 29 echo "ERROR: $message" 30 help 31 } 32 33 while getopts "s:d:u:p:h" OPTION 34 do 35 case $OPTION in 36 h) help ;; 37 s) TOPOLOGY_SERVER="$OPTARG" ;; 38 d) MYSQL_SCHEMA="$OPTARG" ;; 39 u) TOPOLOGY_USER="$OPTARG" ;; 40 p) TOPOLOGY_PASSWORD="$OPTARG" ;; 41 *) help ;; 42 esac 43 done 44 45 if [ -z "$TOPOLOGY_SERVER" ] ; then 46 error_help "Expected topology server" 47 fi 48 if [ -z "$MYSQL_SCHEMA" ] ; then 49 error_help "Expected MySQL schema/database name" 50 fi 51 if [ -z "$TOPOLOGY_USER" ] ; then 52 error_help "Expected MySQL user" 53 fi 54 if [ -z "$TOPOLOGY_PASSWORD" ] ; then 55 error_help "Expected MySQL password" 56 fi 57 58 docker run --rm -it -p 3000:3000 -p 15000:15000 -p 15001:15001 -e "TOPOLOGY_SERVER=$TOPOLOGY_SERVER" -e "TOPOLOGY_USER=$TOPOLOGY_USER" -e "TOPOLOGY_PASSWORD=$TOPOLOGY_PASSWORD" -e "MYSQL_SCHEMA=$MYSQL_SCHEMA" --network=host vitess/mini:latest