. lib/apt_digested.sh
+. lib/constants_setup.sh # PATH_REL_DIR_APTMARK
. lib/prefixed_msg.sh
ensure_packages_of_tags() {
prefixed_msg_no_nl "For tag '${TAG}', "
local TEST
TEST=$(echo "${TAG}" | cut -d':' -f1)
+ # TODO get rid of this one
if [ "${TEST}" = 'keep_if_installed' ]; then
local PACKAGE
PACKAGE=$(echo "${TAG}" | cut -d':' -f2)
fi
continue
fi
- local PATH_APTMARK_TAG="../aptmark/${TAG}"
+ local PATH_APTMARK_TAG="${PATH_REL_DIR_APTMARK}/${TAG}"
if [ ! -f "${PATH_APTMARK_TAG}" ]; then
echo 'no file, ignoring.'
continue
#!/bin/sh
set -e
-cd $(dirname "$0")
+ROOT=$(dirname "$0")
+cd "${ROOT}"
. lib/apt_digested.sh
. lib/constants_etc.sh # PATH_ETC
+. lib/constants_setup.sh # PATH_REL_DIR_APTMARK
. lib/constants_ssh.sh # PATH_REL_SSH, PATH_USER_SSH
. lib/constants_user.sh # USERNAME
. lib/copy_dirtrees_of_tags.sh
prefixed_msg_init
prefixed_msg 'starting (setting up basics of standard server)'
-INSTALL_TAGS='all server user keep_if_installed:systemd-resolved'
-
-expect_n_args 2 3 'CADDY_PASSWORD, HOSTNAME, [FQDN]' $@
-CADDY_PASSWORD="$1"
-HOSTNAME="$2"
-FQDN="$3"
-
+INSTALL_TAGS='all server user'
PATH_BORG_HOME=/home/borg
PATH_CADDYFILE="${PATH_ETC}/caddy/Caddyfile"
PATH_DUMP='/var/www/dump'
+expect_n_args 3 4 'HOSTING_SERVICE CADDY_PASSWORD HOSTNAME [FQDN]' "$@"
+HOSTING_APTMARK_TAG="hosting_$1"
+CADDY_PASSWORD="$2"
+HOSTNAME="$3"
+FQDN="$4"
+if [ -f "${PATH_REL_DIR_APTMARK}/${HOSTING_APTMARK_TAG}" ]; then
+ INSTALL_TAGS="${INSTALL_TAGS} ${HOSTING_SERVICE}"
+else
+ abort 'Unrecognized hosting service.'
+fi
+
prefixed_msg_no_nl 'Determining external IP …'
for _CANDIDATE in $(hostname -I); do
- _START=$(echo ${_CANDIDATE} | cut -d'.' -f1)
- if [ "$(echo -n ${_START} | wc -c)" -gt 3 ]; then # ignore IPv6
+ _START=$(echo "${_CANDIDATE}" | cut -d'.' -f1)
+ _N_START_CHARS=$(echo -n "${_START}" | wc -c)
+ if [ "${_N_START_CHARS}" -gt 3 ]; then # ignore IPv6
continue
fi
- if [ "${_START}" = "127" -o "${_START}" = "192" -o "${_START}" = "172" ]; then
+ if [ "${_START}" = "127" ] || [ "${_START}" = "192" ] || [ "${_START}" = "172" ]; then
continue
fi
EXTERNAL_IP="${_CANDIDATE}"
done
echo " it's: ${EXTERNAL_IP}"
-if [ ! -z "${FQDN}" ]; then
+if [ -n "${FQDN}" ]; then
prefixed_msg "Ensuring provided FQDN ${FQDN} maps to it …"
IP_BY_DNS=$(getent ahostsv4 "${FQDN}" | head -1 | cut -d' ' -f1)
if [ ! "${IP_BY_DNS}" = "${EXTERNAL_IP}" ]; then