parametrize data_dir for tests
This commit is contained in:
@@ -12,21 +12,20 @@ if [[ $# == 1 && "$1" == "--check" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
readonly DATA_DIR="/home/yellowtent/data"
|
||||
|
||||
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "${script_dir}/../INFRA_VERSION" # this injects INFRA_VERSION
|
||||
|
||||
readonly fqdn="$1"
|
||||
readonly mail_fqdn="$2"
|
||||
readonly mail_tls_cert="$3"
|
||||
readonly mail_tls_key="$4"
|
||||
readonly enable_incoming_mail="$5"
|
||||
readonly data_dir="$1"
|
||||
readonly fqdn="$2"
|
||||
readonly mail_fqdn="$3"
|
||||
readonly mail_tls_cert="$4"
|
||||
readonly mail_tls_key="$5"
|
||||
readonly enable_incoming_mail="$6"
|
||||
|
||||
# removing containers ensures containers are launched with latest config updates
|
||||
# restore code in appatask does not delete old containers
|
||||
infra_version="none"
|
||||
[[ -f "${DATA_DIR}/INFRA_VERSION" ]] && infra_version=$(cat "${DATA_DIR}/INFRA_VERSION")
|
||||
[[ -f "${data_dir}/INFRA_VERSION" ]] && infra_version=$(cat "${data_dir}/INFRA_VERSION")
|
||||
if [[ "${infra_version}" == "${INFRA_VERSION}" ]]; then
|
||||
echo "Infrastructure is upto date"
|
||||
exit 0
|
||||
@@ -54,7 +53,7 @@ graphite_container_id=$(docker run --restart=always -d --name="graphite" \
|
||||
-p 127.0.0.1:2003:2003 \
|
||||
-p 127.0.0.1:2004:2004 \
|
||||
-p 127.0.0.1:8000:8000 \
|
||||
-v "${DATA_DIR}/graphite:/app/data" \
|
||||
-v "${data_dir}/graphite:/app/data" \
|
||||
--read-only -v /tmp -v /run \
|
||||
"${GRAPHITE_IMAGE}")
|
||||
echo "Graphite container id: ${graphite_container_id}"
|
||||
@@ -70,7 +69,7 @@ if [[ "${enable_incoming_mail}" == "true" ]]; then
|
||||
-h "${fqdn}" \
|
||||
-e "MAIL_DOMAIN=${fqdn}" \
|
||||
-e "MAIL_SERVER_NAME=${mail_fqdn}" \
|
||||
-v "${DATA_DIR}/box/recvmail:/app/data" \
|
||||
-v "${data_dir}/box/recvmail:/app/data" \
|
||||
-v "${mail_tls_key}:/etc/tls_key.pem:ro" \
|
||||
-v "${mail_tls_cert}:/etc/tls_cert.pem:ro" \
|
||||
-p 993:9993 \
|
||||
@@ -92,7 +91,7 @@ mail_container_id=$(docker run --restart=always -d --name="mail" \
|
||||
-h "${fqdn}" \
|
||||
-e "MAIL_DOMAIN=${fqdn}" \
|
||||
-e "MAIL_SERVER_NAME=${mail_fqdn}" \
|
||||
-v "${DATA_DIR}/box/mail:/app/data" \
|
||||
-v "${data_dir}/box/mail:/app/data" \
|
||||
-v "${mail_tls_key}:/etc/tls_key.pem:ro" \
|
||||
-v "${mail_tls_cert}:/etc/tls_cert.pem:ro" \
|
||||
-p 587:2500 \
|
||||
@@ -106,7 +105,7 @@ fi
|
||||
# mysql
|
||||
mysql_addon_root_password=$(pwgen -1 -s)
|
||||
docker0_ip=$(/sbin/ifconfig docker0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}')
|
||||
cat > "${DATA_DIR}/addons/mysql_vars.sh" <<EOF
|
||||
cat > "${data_dir}/addons/mysql_vars.sh" <<EOF
|
||||
readonly MYSQL_ROOT_PASSWORD='${mysql_addon_root_password}'
|
||||
readonly MYSQL_ROOT_HOST='${docker0_ip}'
|
||||
EOF
|
||||
@@ -114,8 +113,8 @@ mysql_container_id=$(docker run --restart=always -d --name="mysql" \
|
||||
-m 256m \
|
||||
--memory-swap 512m \
|
||||
-h "${fqdn}" \
|
||||
-v "${DATA_DIR}/mysql:/var/lib/mysql" \
|
||||
-v "${DATA_DIR}/addons/mysql_vars.sh:/etc/mysql/mysql_vars.sh:ro" \
|
||||
-v "${data_dir}/mysql:/var/lib/mysql" \
|
||||
-v "${data_dir}/addons/mysql_vars.sh:/etc/mysql/mysql_vars.sh:ro" \
|
||||
--read-only -v /tmp -v /run \
|
||||
"${MYSQL_IMAGE}")
|
||||
echo "MySQL container id: ${mysql_container_id}"
|
||||
@@ -125,15 +124,15 @@ fi
|
||||
|
||||
# postgresql
|
||||
postgresql_addon_root_password=$(pwgen -1 -s)
|
||||
cat > "${DATA_DIR}/addons/postgresql_vars.sh" <<EOF
|
||||
cat > "${data_dir}/addons/postgresql_vars.sh" <<EOF
|
||||
readonly POSTGRESQL_ROOT_PASSWORD='${postgresql_addon_root_password}'
|
||||
EOF
|
||||
postgresql_container_id=$(docker run --restart=always -d --name="postgresql" \
|
||||
-m 100m \
|
||||
--memory-swap 200m \
|
||||
-h "${fqdn}" \
|
||||
-v "${DATA_DIR}/postgresql:/var/lib/postgresql" \
|
||||
-v "${DATA_DIR}/addons/postgresql_vars.sh:/etc/postgresql/postgresql_vars.sh:ro" \
|
||||
-v "${data_dir}/postgresql:/var/lib/postgresql" \
|
||||
-v "${data_dir}/addons/postgresql_vars.sh:/etc/postgresql/postgresql_vars.sh:ro" \
|
||||
--read-only -v /tmp -v /run \
|
||||
"${POSTGRESQL_IMAGE}")
|
||||
echo "PostgreSQL container id: ${postgresql_container_id}"
|
||||
@@ -143,15 +142,15 @@ fi
|
||||
|
||||
# mongodb
|
||||
mongodb_addon_root_password=$(pwgen -1 -s)
|
||||
cat > "${DATA_DIR}/addons/mongodb_vars.sh" <<EOF
|
||||
cat > "${data_dir}/addons/mongodb_vars.sh" <<EOF
|
||||
readonly MONGODB_ROOT_PASSWORD='${mongodb_addon_root_password}'
|
||||
EOF
|
||||
mongodb_container_id=$(docker run --restart=always -d --name="mongodb" \
|
||||
-m 100m \
|
||||
--memory-swap 200m \
|
||||
-h "${fqdn}" \
|
||||
-v "${DATA_DIR}/mongodb:/var/lib/mongodb" \
|
||||
-v "${DATA_DIR}/addons/mongodb_vars.sh:/etc/mongodb_vars.sh:ro" \
|
||||
-v "${data_dir}/mongodb:/var/lib/mongodb" \
|
||||
-v "${data_dir}/addons/mongodb_vars.sh:/etc/mongodb_vars.sh:ro" \
|
||||
--read-only -v /tmp -v /run \
|
||||
"${MONGODB_IMAGE}")
|
||||
echo "Mongodb container id: ${mongodb_container_id}"
|
||||
@@ -174,4 +173,4 @@ else
|
||||
mysql -u root -ppassword -e 'UPDATE apps SET installationState = "pending_configure", oldConfigJson = NULL WHERE installationState = "installed"' box
|
||||
fi
|
||||
|
||||
echo -n "${INFRA_VERSION}" > "${DATA_DIR}/INFRA_VERSION"
|
||||
echo -n "${INFRA_VERSION}" > "${data_dir}/INFRA_VERSION"
|
||||
|
||||
Reference in New Issue
Block a user