vitess.io/vitess@v0.16.2/examples/common/scripts/vtgate-up.sh (about) 1 #!/bin/bash 2 3 # Copyright 2019 The Vitess Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 # This is an example script that starts a single vtgate. 18 19 source "$(dirname "${BASH_SOURCE[0]:-$0}")/../env.sh" 20 21 cell=${CELL:-'test'} 22 web_port=15001 23 grpc_port=15991 24 mysql_server_port=15306 25 mysql_server_socket_path="/tmp/mysql.sock" 26 27 # Start vtgate. 28 # shellcheck disable=SC2086 29 vtgate \ 30 $TOPOLOGY_FLAGS \ 31 --log_dir $VTDATAROOT/tmp \ 32 --log_queries_to_file $VTDATAROOT/tmp/vtgate_querylog.txt \ 33 --port $web_port \ 34 --grpc_port $grpc_port \ 35 --mysql_server_port $mysql_server_port \ 36 --mysql_server_socket_path $mysql_server_socket_path \ 37 --cell $cell \ 38 --cells_to_watch $cell \ 39 --tablet_types_to_wait PRIMARY,REPLICA \ 40 --service_map 'grpc-vtgateservice' \ 41 --pid_file $VTDATAROOT/tmp/vtgate.pid \ 42 --mysql_auth_server_impl none \ 43 > $VTDATAROOT/tmp/vtgate.out 2>&1 & 44 45 # Block waiting for vtgate to be listening 46 # Not the same as healthy 47 48 echo "Waiting for vtgate to be up..." 49 while true; do 50 curl -I "http://$hostname:$web_port/debug/status" >/dev/null 2>&1 && break 51 sleep 0.1 52 done; 53 echo "vtgate is up!" 54 55 echo "Access vtgate at http://$hostname:$web_port/debug/status" 56 57 disown -a