blob: 657eb6b918edf8a39d997de0be98bfa059725f36 [file] [log] [blame]
#!/bin/bash
#
#/**
# * Copyright 2007 The Apache Software Foundation
# *
# * Licensed to the Apache Software Foundation (ASF) under one
# * or more contributor license agreements. See the NOTICE file
# * distributed with this work for additional information
# * regarding copyright ownership. The ASF licenses this file
# * to you under the Apache License, Version 2.0 (the
# * "License"); you may not use this file except in compliance
# * with the License. You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# */
export PATH=$PATH:/opt/bookkeeper/bin
BK_HOME=/opt/bookkeeper
BINDIR=${BK_HOME}/bin
BOOKKEEPER=${BINDIR}/bookkeeper
SCRIPTS_DIR=${BK_HOME}/scripts
if [ $# = 0 ]; then
echo "No command is found";
exit 1;
fi
COMMAND=$1
shift
function run_command() {
if [ "$(id -u)" = '0' ]; then
chown -R "$BK_USER:$BK_USER" ${BK_HOME}
chmod -R +x ${BINDIR}
chmod -R +x ${SCRIPTS_DIR}
echo "This is root, will use user $BK_USER to run command '$@'"
sudo -s -E -u "$BK_USER" /bin/bash "$@"
exit
else
echo "Run command '$@'"
$@
fi
}
# for BC consideration - the old scripts run `entrypoint.sh /opt/bookkeeper/bin/bookkeeper bookie`
if [ ${COMMAND} == "${BOOKKEEPER}" ]; then
if [ $# -gt 0 ]; then
if [ $1 == "bookie" ]; then
source ${SCRIPTS_DIR}/init_bookie.sh
init_bookie
run_command /opt/bookkeeper/bin/bookkeeper bookie
exit
fi
fi
fi
if [ -f ${SCRIPTS_DIR}/init_${COMMAND}.sh ]; then
source ${SCRIPTS_DIR}/init_${COMMAND}.sh
init_${COMMAND}
run_command ${BOOKKEEPER} ${COMMAND} $@
else
source ${SCRIPTS_DIR}/init_generic.sh
run_command ${COMMAND} $@
fi