blob: e12f7d5b3c3928afe00ce0f7d826e880eaf143a3 [file] [log] [blame]
#!/usr/bin/env ash
# ########################################################################
# Copyright 2019-2021 AT&T Intellectual Property. All rights reserved
#
# Licensed 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.
# ########################################################################
function maven {
if [ "${DEBUG}" = "y" ]; then
echo "-- maven --"
set -x
fi
if [ -f "${POLICY_INSTALL_INIT}"/settings.xml ]; then
if ! cmp -s "${POLICY_INSTALL_INIT}"/settings.xml "${POLICY_HOME}"/etc/m2/settings.xml; then
echo "overriding settings.xml"
cp -f "${POLICY_INSTALL_INIT}"/settings.xml "${POLICY_HOME}"/etc/m2
fi
fi
if [ -f "${POLICY_INSTALL_INIT}"/standalone-settings.xml ]; then
if ! cmp -s "${POLICY_INSTALL_INIT}"/standalone-settings.xml "${POLICY_HOME}"/etc/m2/standalone-settings.xml; then
echo "overriding standalone-settings.xml"
cp -f "${POLICY_INSTALL_INIT}"/standalone-settings.xml "${POLICY_HOME}"/etc/m2
fi
fi
}
function systemConfs {
if [ "${DEBUG}" = "y" ]; then
echo "-- systemConfs --"
set -x
fi
local confName
if ! ls "${POLICY_INSTALL_INIT}"/*.conf > /dev/null 2>&1; then
return 0
fi
for c in $(ls "${POLICY_INSTALL_INIT}"/*.conf 2> /dev/null); do
echo "adding system conf file: ${c}"
cp -f "${c}" "${POLICY_HOME}"/etc/profile.d/
confName="$(basename "${c}")"
sed -i -e "s/ *= */=/" -e "s/=\([^\"\']*$\)/='\1'/" "${POLICY_HOME}/etc/profile.d/${confName}"
done
source "${POLICY_HOME}"/etc/profile.d/env.sh
}
function features {
if [ "${DEBUG}" = "y" ]; then
echo "-- features --"
set -x
fi
if ! ls "${POLICY_INSTALL_INIT}"/features*.zip > /dev/null 2>&1; then
return 0
fi
source "${POLICY_HOME}"/etc/profile.d/env.sh
for f in $(ls "${POLICY_INSTALL_INIT}"/features*.zip 2> /dev/null); do
echo "installing feature: ${f}"
"${POLICY_HOME}"/bin/features install "${f}"
done
}
function scripts {
if [ "${DEBUG}" = "y" ]; then
echo "-- scripts --"
set -x
fi
local scriptExtSuffix=${1:-"sh"}
if ! ls "${POLICY_INSTALL_INIT}"/*."${scriptExtSuffix}" > /dev/null 2>&1; then
return 0
fi
source "${POLICY_HOME}"/etc/profile.d/env.sh
for s in $(ls "${POLICY_INSTALL_INIT}"/*."${scriptExtSuffix}" 2> /dev/null); do
echo "executing script: ${s}"
source "${s}"
done
}
function security {
if [ "${DEBUG}" = "y" ]; then
echo "-- security --"
set -x
fi
if [ -f "${POLICY_INSTALL_INIT}"/policy-keystore ]; then
if ! cmp -s "${POLICY_INSTALL_INIT}"/policy-keystore "${POLICY_HOME}"/etc/ssl/policy-keystore; then
echo "overriding policy-keystore"
cp -f "${POLICY_INSTALL_INIT}"/policy-keystore "${POLICY_HOME}"/etc/ssl
fi
fi
if [ -f "${POLICY_INSTALL_INIT}"/policy-truststore ]; then
if ! cmp -s "${POLICY_INSTALL_INIT}"/policy-truststore "${POLICY_HOME}"/etc/ssl/policy-truststore; then
echo "overriding policy-truststore"
cp -f "${POLICY_INSTALL_INIT}"/policy-truststore "${POLICY_HOME}"/etc/ssl
fi
fi
if [ -f "${POLICY_INSTALL_INIT}"/aaf-cadi.keyfile ]; then
if ! cmp -s "${POLICY_INSTALL_INIT}"/aaf-cadi.keyfile "${POLICY_HOME}"/config/aaf-cadi.keyfile; then
echo "overriding aaf-cadi.keyfile"
cp -f "${POLICY_INSTALL_INIT}"/aaf-cadi.keyfile "${POLICY_HOME}"/config/aaf-cadi.keyfile
fi
fi
}
function serverConfig {
if [ "${DEBUG}" = "y" ]; then
echo "-- serverConfig --"
set -x
fi
local configExtSuffix=${1:-"properties"}
if ! ls "${POLICY_INSTALL_INIT}"/*."${configExtSuffix}" > /dev/null 2>&1; then
return 0
fi
for p in $(ls "${POLICY_INSTALL_INIT}"/*."${configExtSuffix}" 2> /dev/null); do
echo "configuration ${configExtSuffix}: ${p}"
cp -f "${p}" "${POLICY_HOME}"/config
done
}
function db {
if [ "${DEBUG}" = "y" ]; then
echo "-- db --"
set -x
fi
if [ -z "${SQL_HOST}" ]; then
return 0
fi
echo "Wating for ${SQL_HOST} ."
timeout 120 ash -c 'until nc -vz "${SQL_HOST}" 3306; do echo -n "."; sleep 1; done'; echo $?
"${POLICY_HOME}"/bin/db-migrator -s ALL -o upgrade
}
function inspect {
if [ "${DEBUG}" = "y" ]; then
echo "-- inspect --"
set -x
fi
echo "ENV: "
env
echo
echo
source "${POLICY_HOME}"/etc/profile.d/env.sh
policy status
echo
echo
}
function reload {
if [ "${DEBUG}" = "y" ]; then
echo "-- reload --"
set -x
fi
systemConfs
maven
features
security
serverConfig "properties"
serverConfig "xml"
serverConfig "json"
scripts "pre.sh"
}
function start {
if [ "${DEBUG}" = "y" ]; then
echo "-- start --"
set -x
fi
source "${POLICY_HOME}"/etc/profile.d/env.sh
policy start
}
function configure {
if [ "${DEBUG}" = "y" ]; then
echo "-- configure --"
set -x
fi
reload
db
}
function vmBoot {
if [ "${DEBUG}" = "y" ]; then
echo "-- vmBoot --"
set -x
fi
reload
db
start
scripts "post.sh"
}
function dockerBoot {
if [ "${DEBUG}" = "y" ]; then
echo "-- dockerBoot --"
set -x
fi
set -e
configure
source "${POLICY_HOME}"/etc/profile.d/env.sh
policy exec
}
if [ "${DEBUG}" = "y" ]; then
echo "-- $0 $* --"
set -x
fi
operation="${1}"
case "${operation}" in
inspect) inspect
;;
boot) dockerBoot
;;
vmboot) vmBoot
;;
configure) configure
;;
*) exec "$@"
;;
esac