2015-07-20 00:09:47 -07:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
set -eu
|
|
|
|
|
|
2015-08-12 19:26:31 -07:00
|
|
|
readonly SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
2016-05-24 00:38:43 -07:00
|
|
|
readonly TEST_IMAGE="cloudron/test:15.0.0"
|
2015-08-12 19:26:31 -07:00
|
|
|
|
2016-05-04 15:08:11 -07:00
|
|
|
source ${SOURCE_DIR}/src/INFRA_VERSION
|
2015-07-20 00:09:47 -07:00
|
|
|
|
|
|
|
|
# reset sudo timestamp to avoid wrong success
|
|
|
|
|
sudo -k || sudo --reset-timestamp
|
|
|
|
|
|
|
|
|
|
# checks if all scripts are sudo access
|
2015-08-12 19:26:31 -07:00
|
|
|
scripts=("${SOURCE_DIR}/src/scripts/rmappdir.sh" \
|
|
|
|
|
"${SOURCE_DIR}/src/scripts/createappdir.sh" \
|
2016-05-04 15:08:11 -07:00
|
|
|
"${SOURCE_DIR}/src/scripts/setup_infra.sh" \
|
2015-08-12 19:26:31 -07:00
|
|
|
"${SOURCE_DIR}/src/scripts/reloadnginx.sh" \
|
|
|
|
|
"${SOURCE_DIR}/src/scripts/backupbox.sh" \
|
|
|
|
|
"${SOURCE_DIR}/src/scripts/backupapp.sh" \
|
|
|
|
|
"${SOURCE_DIR}/src/scripts/restoreapp.sh" \
|
|
|
|
|
"${SOURCE_DIR}/src/scripts/reboot.sh" \
|
|
|
|
|
"${SOURCE_DIR}/src/scripts/collectlogs.sh" \
|
|
|
|
|
"${SOURCE_DIR}/src/scripts/reloadcollectd.sh")
|
2015-07-20 00:09:47 -07:00
|
|
|
|
|
|
|
|
for script in "${scripts[@]}"; do
|
|
|
|
|
if [[ $(sudo -n "${script}" --check 2>/dev/null) != "OK" ]]; then
|
|
|
|
|
echo ""
|
|
|
|
|
echo "${script} does not have sudo access."
|
|
|
|
|
echo "You have to add the lines below to /etc/sudoers.d/yellowtent."
|
|
|
|
|
echo ""
|
2015-07-24 01:42:28 -07:00
|
|
|
echo "Defaults!${script} env_keep=\"HOME BOX_ENV\""
|
2015-07-20 00:09:47 -07:00
|
|
|
echo "${USER} ALL=(ALL) NOPASSWD: ${script}"
|
|
|
|
|
echo ""
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
|
2015-11-09 23:31:00 -08:00
|
|
|
image_missing=""
|
|
|
|
|
|
2015-10-27 14:20:19 +01:00
|
|
|
if ! docker inspect "${TEST_IMAGE}" >/dev/null 2>/dev/null; then
|
2015-11-09 23:31:00 -08:00
|
|
|
echo "docker pull ${TEST_IMAGE}"
|
|
|
|
|
image_missing="true"
|
2015-07-20 00:09:47 -07:00
|
|
|
fi
|
|
|
|
|
|
2015-08-12 19:26:31 -07:00
|
|
|
if ! docker inspect "${REDIS_IMAGE}" >/dev/null 2>/dev/null; then
|
2015-11-09 23:31:00 -08:00
|
|
|
echo "docker pull ${REDIS_IMAGE}"
|
|
|
|
|
image_missing="true"
|
2015-07-20 00:09:47 -07:00
|
|
|
fi
|
|
|
|
|
|
2015-08-12 19:26:31 -07:00
|
|
|
if ! docker inspect "${MYSQL_IMAGE}" >/dev/null 2>/dev/null; then
|
2015-11-09 23:31:00 -08:00
|
|
|
echo "docker pull ${MYSQL_IMAGE}"
|
|
|
|
|
image_missing="true"
|
2015-07-20 00:09:47 -07:00
|
|
|
fi
|
|
|
|
|
|
2015-08-12 19:26:31 -07:00
|
|
|
if ! docker inspect "${POSTGRESQL_IMAGE}" >/dev/null 2>/dev/null; then
|
2015-11-09 23:31:00 -08:00
|
|
|
echo "docker pull ${POSTGRESQL_IMAGE}"
|
|
|
|
|
image_missing="true"
|
2015-07-20 00:09:47 -07:00
|
|
|
fi
|
|
|
|
|
|
2015-08-12 19:26:31 -07:00
|
|
|
if ! docker inspect "${MONGODB_IMAGE}" >/dev/null 2>/dev/null; then
|
2015-11-09 23:31:00 -08:00
|
|
|
echo "docker pull ${MONGODB_IMAGE}"
|
|
|
|
|
image_missing="true"
|
|
|
|
|
fi
|
|
|
|
|
|
2016-05-15 21:51:04 -07:00
|
|
|
if ! docker inspect "${MAIL_IMAGE}" >/dev/null 2>/dev/null; then
|
|
|
|
|
echo "docker pull ${MAIL_IMAGE}"
|
2015-11-09 23:31:00 -08:00
|
|
|
image_missing="true"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ "${image_missing}" == "true" ]]; then
|
|
|
|
|
echo "Pull above images before running tests"
|
2015-07-20 00:09:47 -07:00
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|