mirror of https://gitee.com/bigwinds/arangodb
169 lines
4.1 KiB
Bash
169 lines
4.1 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
function help() {
|
|
echo "USAGE: $0 [options]"
|
|
echo ""
|
|
echo "OPTIONS:"
|
|
echo " -a/--nagents # agents (odd integer default: 1))"
|
|
echo " -c/--ncoordinators # coordinators (integer default: 1))"
|
|
echo " -d/--ndbservers # db servers (integer default: 2))"
|
|
echo " -t/--transport Protocol (ssl|tcp default: tcp)"
|
|
echo " -j/--jwt-secret JWT-Secret (string default: )"
|
|
echo " --log-level-agency Log level (agency) (string default: )"
|
|
echo " --log-level-cluster Log level (cluster) (string default: )"
|
|
echo " -l/--log-level Log level (string default: )"
|
|
echo " -i/--interactive Interactive mode (C|D|R default: '')"
|
|
echo " -x/--xterm XTerm command (default: xterm)"
|
|
echo " -o/--xterm-options XTerm options (default: --geometry=80x43)"
|
|
echo " -b/--offset-ports Offset ports (default: 0, i.e. A:4001, C:8530, D:8629)"
|
|
echo " -r/--rocksdb-engine Use RocksDB engine (default: true)"
|
|
echo " -q/--source-dir ArangoDB source dir (default: .)"
|
|
echo " -B/--bin-dir ArangoDB binary dir (default: ./build)"
|
|
echo " -O/--ongoing-ports Ongoing ports (default: false)"
|
|
echo " --rr Run arangod with rr (true|false default: false)"
|
|
echo " --cluster-init Use cluster-init dir (default: false)"
|
|
echo " --auto-upgrade Use for upgrade (default: false)"
|
|
echo " -e/--encryption-secret Encryption at rest secret (string default: )"
|
|
echo " -E/--enable-hotbackup Disable hot backup (default default: true)"
|
|
echo ""
|
|
echo "EXAMPLES:"
|
|
echo " $0"
|
|
echo " $0 -a 1 -c 1 -d 3 -t ssl"
|
|
echo " $0 -a 3 -c 1 -d 2 -t tcp -i C"
|
|
|
|
}
|
|
|
|
# defaults
|
|
NRAGENTS=1
|
|
NRDBSERVERS=2
|
|
NRCOORDINATORS=1
|
|
POOLSZ=""
|
|
TRANSPORT="tcp"
|
|
LOG_LEVEL="INFO"
|
|
LOG_LEVEL_AGENCY="INFO"
|
|
LOG_LEVEL_CLUSTER="INFO"
|
|
if [ -z "$XTERM" ] ; then
|
|
XTERM="x-terminal-emulator"
|
|
fi
|
|
if [ -z "$XTERMOPTIONS" ] ; then
|
|
XTERMOPTIONS=" --geometry=80x43 -e "
|
|
fi
|
|
BUILD="./build"
|
|
JWT_SECRET=""
|
|
PORT_OFFSET=0
|
|
SRC_DIR="."
|
|
USE_RR="false"
|
|
ENCRYPTION_SECRET=""
|
|
ENABLE_HOTBACKUP="true"
|
|
|
|
parse_args(){
|
|
while [[ -n "$1" ]]; do
|
|
case "${1}" in
|
|
-a|--agency-size)
|
|
NRAGENTS=${2}
|
|
shift
|
|
;;
|
|
-c|--ncoordinators)
|
|
NRCOORDINATORS=${2}
|
|
shift
|
|
;;
|
|
-d|--ndbservers)
|
|
NRDBSERVERS=${2}
|
|
shift
|
|
;;
|
|
-r|--rocksdb-engine)
|
|
USE_ROCKSDB=${2}
|
|
shift
|
|
;;
|
|
-t|--transport)
|
|
TRANSPORT=${2}
|
|
shift
|
|
;;
|
|
-l|--log-level)
|
|
LOG_LEVEL=${2}
|
|
shift
|
|
;;
|
|
--log-level-agency)
|
|
LOG_LEVEL_AGENCY=${2}
|
|
shift
|
|
;;
|
|
--log-level-cluster)
|
|
LOG_LEVEL_CLUSTER=${2}
|
|
shift
|
|
;;
|
|
-i|--interactive)
|
|
INTERACTIVE_MODE=${2}
|
|
shift
|
|
;;
|
|
-j|--jwt-secret)
|
|
JWT_SECRET=${2}
|
|
shift
|
|
;;
|
|
-e|--encryption-secret)
|
|
ENCRYPTION_SECRET=${2}
|
|
shift
|
|
;;
|
|
-E|--enable-hotbackup)
|
|
ENABLE_HOTBACKUP=${2}
|
|
shift
|
|
;;
|
|
-q|--src-dir)
|
|
SRC_DIR=${2}
|
|
shift
|
|
;;
|
|
-x|--xterm)
|
|
XTERM=${2}
|
|
shift
|
|
;;
|
|
-o|--xterm-options)
|
|
XTERMOPTIONS=${2}
|
|
shift
|
|
;;
|
|
-b|--port-offset)
|
|
PORT_OFFSET=${2}
|
|
shift
|
|
;;
|
|
-h|--help)
|
|
help
|
|
exit 1
|
|
;;
|
|
-B|--build)
|
|
BUILD=${2}
|
|
shift
|
|
;;
|
|
-O|--ongoing-ports)
|
|
ONGOING_PORTS=${2}
|
|
shift
|
|
;;
|
|
--cluster-init)
|
|
shift
|
|
;;
|
|
--auto-upgrade)
|
|
AUTOUPGRADE=${2}
|
|
shift
|
|
;;
|
|
--rr)
|
|
USE_RR=${2}
|
|
if [ "$USE_RR" != "false" ] && [ "$USE_RR" != "true" ] ; then
|
|
echo 'Invalid parameter: '\
|
|
'`--rr` expects `true` or `false`, but got `'"$USE_RR"'`' \
|
|
>&2
|
|
help
|
|
exit 1
|
|
fi
|
|
shift
|
|
;;
|
|
*)
|
|
echo "Unknown parameter: ${1}" >&2
|
|
help
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
if ! shift; then
|
|
echo 'Missing parameter argument.' >&2
|
|
return 1
|
|
fi
|
|
done
|
|
}
|